Files
docker-infrastructure/authelia/docker-compose.yml
T
poprhythm e6d4b0a349 Revert OIDC client secrets to file-based approach
Bcrypt hashes contain $ signs which Portainer interpolates when storing
as env vars, truncating the values. Use {{ secret "file" }} template
syntax instead — hashes live in /srv/authelia/config/secrets/ on the
host, written via Python to avoid shell interpolation.

Only $ -safe values (hex strings) remain as env vars.
2026-02-26 20:03:03 +00:00

38 lines
1.1 KiB
YAML

services:
authelia:
container_name: authelia
image: authelia/authelia:4.38
restart: unless-stopped
volumes:
- /srv/authelia/config:/config
environment:
- TZ=America/New_York
- AUTHELIA_JWT_SECRET=${AUTHELIA_JWT_SECRET}
- AUTHELIA_SESSION_SECRET=${AUTHELIA_SESSION_SECRET}
- AUTHELIA_STORAGE_ENCRYPTION_KEY=${AUTHELIA_STORAGE_ENCRYPTION_KEY}
- AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET=${AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET}
# OIDC client secrets are NOT passed as env vars — bcrypt hashes contain $ which
# Portainer/shell interpolates. Stored as files in /srv/authelia/config/secrets/ instead.
- X_AUTHELIA_CONFIG_FILTERS=template
networks:
- npm-network
- authelia-internal
depends_on:
- authelia-redis
authelia-redis:
container_name: authelia-redis
image: redis:7-alpine
restart: unless-stopped
command: --save 60 1 --loglevel warning
volumes:
- /srv/authelia/redis:/data
networks:
- authelia-internal
networks:
npm-network:
external: true
authelia-internal:
driver: bridge