Files
Applications/ALL_Stack/vaultwarden/docker-compose.yml
T
2026-03-16 18:26:47 +01:00

80 lines
3.8 KiB
YAML

#### NETWORKS
networks:
traefik_front_network:
external: true
back_network_vaultwarden:
driver: bridge
attachable: true
#### SERVICES
services:
###
vaultwarden:
container_name: vaultwarden
hostname: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- ./data:/data:rw
environment:
# - ROCKET_TLS={certs="/ssl/certs/certs.pem",key="/ssl/private/key.pem"} // Environment variable is specific to the Rocket web server
- ADMIN_TOKEN=${ADMIN_TOKEN}
- WEBSOCKET_ENABLED=true
- SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED}
- SIGNUPS_VERIFY=${SIGNUPS_VERIFY}
- REQUIRE_DEVICE_EMAIL=${REQUIRE_DEVICE_EMAIL}
- INVITATIONS_ALLOWED=${INVITATIONS_ALLOWED}
- SHOW_PASSWORD_HINT=${SHOW_PASSWORD_HINT}
- EMAIL_CHANGE_ALLOWED=${EMAIL_CHANGE_ALLOWED}
- SMTP_HOST=${SMTP_HOST}
- SMTP_FROM=${SMTP_FROM}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SSL=${SMTP_SSL}
- SMTP_SECURITY=${SMTP_SECURITY}
- SMTP_AUTH_MECHANISM=${SMTP_MECHANISM}
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- DOMAIN=${DOMAIN}
- ORG_GROUPS_ENABLED=${ORG_GROUPS_ENABLED}
- ORG_EVENTS_ENABLED=${ORG_EVENTS_ENABLED}
- LOG_FILE=${LOG_FILE}
- LOG_LEVEL=${LOG_LEVEL}
networks:
- traefik_front_network
- back_network_vaultwarden
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "traefik.enable=true"
- "traefik.docker.network=traefik_front_network"
# HTTP
- "traefik.http.routers.vaultwarden-http.rule=Host(`vaultwarden.tips-of-mine.com`)"
- "traefik.http.routers.vaultwarden-http.entrypoints=http"
- "traefik.http.routers.vaultwarden-http.priority=49"
# HTTPS
- "traefik.http.routers.vaultwarden-https.rule=Host(`vaultwarden.tips-of-mine.com`)"
- "traefik.http.routers.vaultwarden-https.entrypoints=https"
- "traefik.http.routers.vaultwarden-https.tls=true"
- "traefik.http.routers.vaultwarden-https.priority=50"
- "traefik.http.routers.vaultwarden-https.service=vaultwarden-https-service"
- "traefik.http.routers.vaultwarden-https.middlewares=vaultwarden-middlewares"
- "traefik.http.routers.vaultwarden-https.observability.accesslogs=true"
- "traefik.http.routers.vaultwarden-https.observability.metrics=true"
- "traefik.http.routers.vaultwarden-https.observability.tracing=true"
# Middleware
# - "traefik.http.middlewares.vaultwarden-middlewares.headers.SSLRedirect=true"
- "traefik.http.middlewares.vaultwarden-middlewares.headers.STSSeconds=15552000"
# - "traefik.http.middlewares.vaultwarden-middlewares.headers.customResponseHeaders"
# - "traefik.http.middlewares.vaultwarden-middlewares.headers.browserXSSFilter=true"
# - "traefik.http.middlewares.vaultwarden-middlewares.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.vaultwarden-middlewares.headers.forceSTSHeader=true"
# - "traefik.http.middlewares.vaultwarden-middlewares.headers.SSLHost=tips-of-mine.com"
- "traefik.http.middlewares.vaultwarden-middlewares.headers.STSIncludeSubdomains=true"
- "traefik.http.middlewares.vaultwarden-middlewares.headers.STSPreload=true"
# Service
- "traefik.http.services.vaultwarden-https-service.loadbalancer.server.port=80"
# - "traefik.http.services.vaultwarden-https-service.loadbalancer.server.scheme=https"
# - "traefik.http.services.vaultwarden-https-service.loadbalancer.healthcheck.hostname=vaultwarden.tips-of-mine.com"
# - "traefik.http.services.vaultwarden-https-service.loadbalancer.healthcheck.method=foobar"
# - "traefik.http.services.vaultwarden-https-service.loadbalancer.healthcheck.timeout=10"
# - "traefik.http.services.vaultwarden-https-service.loadbalancer.healthcheck.interval=30"