compose-personal-stack/vaultwarden/docker-compose.yml
Davide Oddone df5d0006a3 Refactor of vaultwarden/docker-compose.yml
Currently trying to generalize a bit more the compose files.
No need to keep the NFS mounts explicitly stated, as most of the
times just a small Docker native volume is needed for persistence.
2023-03-21 22:45:14 +01:00

79 lines
2.1 KiB
YAML

x-logging:
&default-logging
driver: syslog
options:
# This requires two files in /etc/rsyslog.d
# https://www.loggly.com/use-cases/docker-syslog-logging-and-troubleshooting/
tag: "container_name/{{.Name}}"
labels: "${hostname}"
syslog-facility: # cron, local7, etc.
# Can be removed if not needed
x-opt-values:
&volume-opt
driver_opts: &options
type: "nfs"
o: "addr=${IP},rw"
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
ADMIN_TOKEN: ${TOKEN} # Set token if you want the admin page available
ROCKET_PORT: ${EXPOSED_PORT}
VIRTUAL_PORT: ${EXPOSED_PORT} # Used by nginx-proxy
VIRTUAL_HOST: ${NDOMAIN} # Used by nginx-proxy
LETSENCRYPT_HOST: ${NDOMAIN}
DOMAIN: ${VDOMAIN} # Used by vaultwarden to set certain links
WEBSOCKET_ENABLED: "true"
SIGNUPS_ALLOWED: "false" # Change to true if it's the first time running
# Optional environment, but useful if you want some functions
SMTP_HOST: "${protonmail-container-name}"
SMTP_FROM: ${SFROM}
SMTP_FROM_NAME: ${SFROMNAME}
SMTP_PORT: "25" # Default SMTP port for Protonmail Bridge
SMTP_USERNAME: ${SUSER}
SMTP_PASSWORD: ${SPASS}
SMTP_ACCEPT_INVALID_CERTS: "true" # Necessary when using Protonmail Bridge
volumes:
- vw-data:/data
networks:
- reverse-proxy
- vaultwarden
- protonmail
vaultwarden-backup:
image: bruceforce/vaultwarden-backup
container_name: vaultwarden-backup
restart: always
environment:
TIMESTAMP: "true"
UID: ${UID}
GID: ${GID}
BACKUP_DIR: ${BACKUP_DIR}
DELETE_AFTER: "30"
CRON_TIME: "0 2 * * *"
volumes:
- vw-data:/data
- backup:/backup
volumes:
vw-data:
# This stores the backup on a (possibly) remote server
backup:
<<: *volume-opt
driver_opts:
<<: *options
device: ":/mnt/path/vaultwarden/backup"
networks:
reverse-proxy:
name: rp_reverse-proxy
external: true
vaultwarden:
protonmail:
name: pmb_protonmail
external: true