Files
docker-compose/vaultwarden/docker-compose.yml

53 lines
1.5 KiB
YAML

services:
vaultwarden_db:
image: docker.io/library/postgres:17.5
container_name: vaultwarden_db
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ${APPDATA_PATH}/vaultwarden/db:/var/lib/postgresql/data
ports:
- ${DB_PORT}:5432
networks:
- backend
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
vaultwarden_server:
image: ghcr.io/dani-garcia/vaultwarden:1.34.1
container_name: vaultwarden_server
depends_on:
vaultwarden_db:
condition: service_healthy
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@vaultwarden_db:5432/${POSTGRES_DB}
- WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED}
- LOG_FILE=/data/vaultwarden.log
# - DOMAIN=${DOMAIN} #Only need to set on first run
# - SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED} #Only need to set on first run
# - ADMIN_TOKEN=${ADMIN_TOKEN} #Only need to set on first run
volumes:
- ${APPDATA_PATH}/vaultwarden/data:/data/
ports:
- ${SERVER_PORT}:80
networks:
- frontend
- backend
restart: unless-stopped
networks:
frontend:
external: true
backend:
external: true