You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.0 KiB
71 lines
2.0 KiB
version: "3.8"
|
|
|
|
secrets:
|
|
JWT_SECRET:
|
|
file: ../secrets/authelia/JWT_SECRET
|
|
SESSION_SECRET:
|
|
file: ../secrets/authelia/SESSION_SECRET
|
|
STORAGE_PASSWORD:
|
|
file: ../secrets/authelia/STORAGE_PASSWORD
|
|
STORAGE_ENCRYPTION_KEY:
|
|
file: ../secrets/authelia/STORAGE_ENCRYPTION_KEY
|
|
|
|
services:
|
|
authelia:
|
|
container_name: authelia
|
|
image: docker.io/authelia/authelia:4.37
|
|
userns_mode: keep-id
|
|
depends_on:
|
|
- postgres
|
|
- secrets
|
|
- caddy
|
|
restart: unless-stopped
|
|
expose:
|
|
- 9091
|
|
secrets: [JWT_SECRET, SESSION_SECRET, STORAGE_PASSWORD, STORAGE_ENCRYPTION_KEY]
|
|
environment:
|
|
PUID: 1000
|
|
PGID: 1000
|
|
AUTHELIA_JWT_SECRET_FILE: /run/secrets/JWT_SECRET
|
|
AUTHELIA_SESSION_SECRET_FILE: /run/secrets/SESSION_SECRET
|
|
AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /run/secrets/STORAGE_PASSWORD
|
|
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /run/secrets/STORAGE_ENCRYPTION_KEY
|
|
volumes:
|
|
- ../data/authelia/config:/config
|
|
|
|
postgres:
|
|
image: postgres:16.0-alpine
|
|
depends_on:
|
|
- secrets
|
|
- caddy
|
|
secrets: [STORAGE_PASSWORD]
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_PASSWORD_FILE: /run/secrets/STORAGE_PASSWORD
|
|
POSTGRES_DB: authelia
|
|
POSTGRES_USER: authelia
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
|
|
# setup a reverse proxy for caddy
|
|
caddy:
|
|
volumes:
|
|
- ./authelia/Proxyfile:/etc/caddy.d/authelia:ro
|
|
|
|
# backup the authelia config
|
|
backup:
|
|
volumes:
|
|
- ../data/authelia/config:/mnt/backup/src/authelia/config:ro
|
|
|
|
# generate all these secrets if they are empty on start
|
|
secrets:
|
|
volumes:
|
|
- ../secrets/authelia/JWT_SECRET:/secrets/authelia/JWT_SECRET
|
|
- ../secrets/authelia/SESSION_SECRET:/secrets/authelia/SESSION_SECRET
|
|
- ../secrets/authelia/STORAGE_PASSWORD:/secrets/authelia/STORAGE_PASSWORD
|
|
- ../secrets/authelia/STORAGE_ENCRYPTION_KEY:/secrets/authelia/STORAGE_ENCRYPTION_KEY
|
|
|
|
volumes:
|
|
postgres-data:
|
|
authelia-config:
|