Files
homelab-infra/security/authelia/docker-compose.yml
T

51 lines
2.0 KiB
YAML

name: authelia
services:
authelia:
container_name: authelia
image: authelia/authelia:4.39.20@sha256:1b363e9279e742397966333f364e0876ae02bf5c876de73e83af6d48c57ff51b
restart: unless-stopped
environment:
AUTHELIA_JWT_SECRET_FILE: /secrets/jwt_secret.txt
AUTHELIA_SESSION_SECRET_FILE: /secrets/session_secret.txt
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /secrets/storage_encryption_key.txt
AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /secrets/postgres_password.txt
AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: /secrets/smtp_password.txt
volumes:
- /mnt/user/appdata/authelia/config:/config
- /mnt/user/appdata/secrets/authelia_jwt_secret.txt:/secrets/jwt_secret.txt:ro
- /mnt/user/appdata/secrets/authelia_session_secret.txt:/secrets/session_secret.txt:ro
- /mnt/user/appdata/secrets/authelia_storage_encryption_key.txt:/secrets/storage_encryption_key.txt:ro
- /mnt/user/appdata/secrets/authelia_postgres_password.txt:/secrets/postgres_password.txt:ro
- /mnt/user/appdata/secrets/authelia_smtp_password.txt:/secrets/smtp_password.txt:ro
dns:
- 192.168.178.58
- 1.1.1.1
- 8.8.8.8
networks:
- frontend_net
- backend_net
security_opt:
- no-new-privileges:true
healthcheck:
# authelia 4.39.x removed the "helper health-check" subcommand;
# use the /api/health endpoint via the image-provided wget instead.
test: ["CMD-SHELL", "wget -q --spider http://localhost:9091/api/health || exit 1"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.docker.network=frontend_net"
- "traefik.http.routers.authelia.rule=Host(`auth.kaleschke.info`)"
- "traefik.http.routers.authelia.entrypoints=websecure"
- "traefik.http.routers.authelia.tls=true"
- "traefik.http.routers.authelia.tls.certresolver=le"
- "traefik.http.services.authelia.loadbalancer.server.port=9091"
networks:
frontend_net:
external: true
backend_net:
external: true