vaultwarden/docker-compose.yml

65 lines
1.5 KiB
YAML

version: '3'
services:
postgres:
image: postgres:14
environment:
- POSTGRES_USER=bitwarden
- POSTGRES_PASSWORD
- POSTGRES_DB=bitwardendb
volumes:
- ./data/postgres:/var/lib/postgresql/data/
restart: always
healthcheck:
#test: ["CMD-SHELL", "pg_isready -U bitwarden"]
test: pg_isready -U bitwarden -d bitwardendb
interval: 10s
timeout: 5s
retries: 5
vaultwarden:
image: vaultwarden/server:latest
restart: always
ports:
- 127.0.0.1:81:80
- 127.0.0.1:3012:3012
environment:
- WEBSOCKET_ENABLED=true # Enable WebSocket notifications.
- DATABASE_URL=postgresql://bitwarden:${POSTGRES_PASSWORD}@postgres:5432/bitwardendb
- ADMIN_TOKEN
volumes:
- ./data/vaultwarden:/data
depends_on:
- postgres
borgmatic:
image: b3vis/borgmatic:latest
restart: always
volumes:
- ./data/vaultwarden:/mnt/source/vw-data:ro
- ./data/borgmatic/etc:/etc/borgmatic.d:Z
- ./data/borgmatic/state:/root/.config/borg:Z
- ./data/borgmatic/ssh:/root/.ssh:Z
- ./data/borgmatic/etc/config.yaml:/mnt/source/config.yaml:ro
environment:
- TZ=America/Chicago
- BORG_PASSPHRASE
depends_on:
- postgres
- vaultwarden
#pgadmin:
# image: dpage/pgadmin4:latest
# environment:
# - PGADMIN_DEFAULT_EMAIL
# - PGADMIN_DEFAULT_PASSWORD
# ports:
# - 8889:80
# depends_on:
# - postgres
networks:
default:
driver_opts:
com.docker.network.bridge.name: br-vaultwarden