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