34 lines
1.2 KiB
YAML
34 lines
1.2 KiB
YAML
services:
|
|
vaultwarden:
|
|
image: vaultwarden/server:latest
|
|
container_name: vaultwarden
|
|
restart: unless-stopped
|
|
environment:
|
|
- WEBSOCKET_ENABLED=true
|
|
- SIGNUPS_ALLOWED=false # set false after creating your account
|
|
volumes:
|
|
- ./vw-data:/data
|
|
ports:
|
|
- "8084:80"
|
|
networks:
|
|
- web_net
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=web_net"
|
|
# HTTPS
|
|
- "traefik.http.routers.vaultwarden.rule=Host(`vaultwarden.home.server`)"
|
|
- "traefik.http.routers.vaultwarden.entrypoints=websecure"
|
|
- "traefik.http.routers.vaultwarden.tls=true"
|
|
- "traefik.http.routers.vaultwarden.service=vaultwarden"
|
|
- "traefik.http.routers.vaultwarden.middlewares=security-headers@file"
|
|
# HTTP → HTTPS redirect
|
|
- "traefik.http.routers.vaultwarden-http.rule=Host(`vaultwarden.home.server`)"
|
|
- "traefik.http.routers.vaultwarden-http.entrypoints=web"
|
|
- "traefik.http.routers.vaultwarden-http.middlewares=redirect-to-https@file"
|
|
# Internal port (vaultwarden listens on 80 inside the container)
|
|
- "traefik.http.services.vaultwarden.loadbalancer.server.port=80"
|
|
|
|
networks:
|
|
web_net:
|
|
external: true
|