149 lines
4.1 KiB
YAML
149 lines
4.1 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
bitwarden-frontend:
|
|
image: nginx:1.15-alpine
|
|
container_name: bitwarden-frontend
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./bitwarden.conf:/etc/nginx/conf.d/bitwarden.conf
|
|
networks:
|
|
- traefik
|
|
- db
|
|
depends_on:
|
|
- bitwarden-backend
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.bw.entrypoints=websecure"
|
|
- "traefik.http.routers.bw.rule=Host(`bw.$DOMAIN_NAME`)"
|
|
- "traefik.http.routers.bw.tls.certresolver=letsencr"
|
|
- "traefik.docker.network=traefik"
|
|
- "traefik.http.services.bw.loadbalancer.server.port=80"
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1m"
|
|
|
|
bitwarden-backend:
|
|
image: vaultwarden/server:latest
|
|
container_name: bitwarden-backend
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /srv/vaultwarden_data:/data
|
|
environment:
|
|
- WEBSOCKET_ENABLED=true
|
|
networks:
|
|
- db
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1m"
|
|
|
|
bitwarden-backup:
|
|
image: bruceforce/bw_backup:latest
|
|
container_name: bitwarden-backup
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- bitwarden-backend
|
|
volumes:
|
|
- /srv/vaultwarden_data:/data
|
|
- /srv/vaultwarden_data_backup:/backup
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
- DB_FILE=/data/db.sqlite3
|
|
- BACKUP_FILE=/backup/backup.sqlite3
|
|
- CRON_TIME=0 1 * * *
|
|
- TIMESTAMP=false
|
|
- UID=0
|
|
- GID=0
|
|
networks:
|
|
- db
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "1m"
|
|
|
|
|
|
# version: '3.9'
|
|
|
|
# services:
|
|
# vaultwarden:
|
|
# image: vaultwarden/server:latest #swap tag to raspberry to run on a raspberry pi
|
|
# volumes:
|
|
# - '/srv/vaultwarden_data:/data'
|
|
# restart: on-failure
|
|
# environment:
|
|
# WEBSOCKET_ENABLED: '${WEBSOCKET_ENABLED}'
|
|
# SIGNUPS_ALLOWED: '${SIGNUPS_ALLOWED}'
|
|
# # SIGNUPS_DOMAINS_WHITELIST: '${SIGNUPS_DOMAINS_WHITELIST}'
|
|
# SIGNUPS_VERIFY: '${SIGNUPS_VERIFY}'
|
|
# INVITATIONS_ALLOWED: '${INVITATIONS_ALLOWED}'
|
|
# SHOW_PASSWORD_HINT: '${SHOW_PASSWORD_HINT}'
|
|
# # ADMIN_TOKEN: '${ADMIN_TOKEN}'
|
|
# # DISABLE_ADMIN_TOKEN: '${DISABLE_ADMIN_TOKEN}'
|
|
|
|
# # Mail Server
|
|
# # SMTP_HOST: '${SMTP_HOST}'
|
|
# # SMTP_FROM: '${SMTP_FROM}'
|
|
# # SMTP_PORT: '${SMTP_PORT}'
|
|
# # SMTP_SECURITY: '${SMTP_SECURITY}'
|
|
# # SMTP_USERNAME: '${SMTP_USERNAME}'
|
|
# # SMTP_PASSWORD: '${SMTP_PASSWORD}'
|
|
|
|
# # Logging
|
|
# LOG_FILE: '/data/vaultwarden.log'
|
|
# LOG_LEVEL: '${LOG_LEVEL}'
|
|
# # USE_SYSLOG: '${USE_SYSLOG}'
|
|
# # EXTENDED_LOGGING: '${EXTENDED_LOGGING}'
|
|
|
|
# # YubiKey authentication
|
|
# # YUBICO_CLIENT_ID: '${YUBICO_CLIENT_ID}'
|
|
# # YUBICO_SECRET_KEY: '${YUBICO_SECRET_KEY}'
|
|
# # YUBICO_SERVER: '${YUBICO_SERVER}'
|
|
|
|
# nginx:
|
|
# build: './Docker/nginx'
|
|
# links:
|
|
# - vaultwarden
|
|
# - vw_backup
|
|
# environment:
|
|
# VIRTUAL_HOST: '${VIRTUAL_HOST}'
|
|
# command: /bin/sh -c "/run_nginx.sh"
|
|
# restart: on-failure
|
|
# networks:
|
|
# - traefik
|
|
# - db
|
|
# labels:
|
|
# - "traefik.enable=true"
|
|
# - "traefik.http.routers.bw.entrypoints=websecure"
|
|
# - "traefik.http.routers.bw.rule=Host(`bw.$DOMAIN_NAME`)"
|
|
# - "traefik.http.routers.bw.tls.certresolver=letsencr"
|
|
# - "traefik.docker.network=traefik"
|
|
# - "traefik.http.services.bw.loadbalancer.server.port=80"
|
|
|
|
# vw_backup:
|
|
# image: bruceforce/bw_backup:latest #swap tag to rpi3 to run on a raspberry pi
|
|
# restart: on-failure
|
|
# depends_on:
|
|
# - vaultwarden
|
|
# networks:
|
|
# - db
|
|
# volumes:
|
|
# - '/srv/vaultwarden_data:/data'
|
|
# - '/srv/vaultwarden_data_backup:/backup'
|
|
# - '/etc/timezone:/etc/timezone:ro'
|
|
# - '/etc/localtime:/etc/localtime:ro'
|
|
# environment:
|
|
# - DB_FILE=/data/db.sqlite3
|
|
# - BACKUP_FILE=/backup/backup.sqlite3
|
|
# - BACKUP_FILE_PERMISSIONS=700
|
|
# - CRON_TIME=0 1 * * *
|
|
# - TIMESTAMP=false
|
|
# - UID=0
|
|
# - GID=0
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
db:
|
|
external: false |