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

54 lines
1.4 KiB
YAML

services:
vaultwarden_db:
container_name: vaultwarden_db
image: docker.io/library/postgres:17.5
restart: unless-stopped
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
healthcheck:
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
interval: 30s
timeout: 5s
retries: 5
start_period: 20s
vaultwarden_server:
container_name: vaultwarden_server
image: ghcr.io/dani-garcia/vaultwarden:1.34.1
restart: unless-stopped
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
# Uncomment and set these only on first run
# - DOMAIN=${DOMAIN}
# - SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED}
# - ADMIN_TOKEN=${ADMIN_TOKEN}
volumes:
- ${APPDATA_PATH}/vaultwarden/data:/data
ports:
- ${SERVER_PORT}:80
networks:
- frontend
- backend
networks:
frontend:
external: true
backend:
external: true