diff --git a/vaultwarden/.env.template b/vaultwarden/.env.template new file mode 100644 index 0000000..7902a7d --- /dev/null +++ b/vaultwarden/.env.template @@ -0,0 +1,9 @@ +COMPOSE_PROJECT_NAME=vaultwarden +TOKEN="YOUR_TOKEN_HERE" +EXPOSED_PORT=8080 +NDOMAIN="warden.domain.tld" +VDOMAIN="https://warden.domain.tld" +SFROM="mail@domain.tld" +SFROMNAME="Your Name" +SUSER="" # User login for Protonmail Bridge +SPASS="" # Password of the user (retrieved from inside the Protonmail Bridge container) diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml new file mode 100644 index 0000000..19893d8 --- /dev/null +++ b/vaultwarden/docker-compose.yml @@ -0,0 +1,56 @@ +x-logging: + &default-logging + driver: local + options: + max-size: "1m" + max-file: "50" + +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 + 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 + +volumes: + vw-data: + <<: *volume-opt + driver_opts: + <<: *options + device: ":/mnt/path/vaultwarden/vw-data" + +networks: + reverse-proxy: + name: rp_reverse-proxy + external: true + vaultwarden: + protonmail: + name: pmb_protonmail + external: true