--- services: authentik: image: ghcr.io/goauthentik/server:2025.12.4 container_name: authentik-server restart: unless-stopped command: server environment: - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} - AUTHENTIK_ERROR_REPORTING__ENABLED=False - AUTHENTIK_POSTGRESQL__HOST=authentik_postgres - AUTHENTIK_POSTGRESQL__USER=authentik - AUTHENTIK_POSTGRESQL__NAME=authentik - AUTHENTIK_POSTGRESQL__PASSWORD=${DATABASE_PASSWORD} - AUTHENTIK_REDIS__HOST=authentik_redis networks: - authentik_backend ports: - "8000:9000" - "8443:9443" volumes: - authentik_data:/data - authentik_templates:/templates depends_on: authentik_postgres: condition: service_healthy authentik_redis: condition: service_healthy authentik_worker: image: ghcr.io/goauthentik/server:2025.12.4 container_name: authentik-worker restart: unless-stopped command: worker environment: - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} - AUTHENTIK_ERROR_REPORTING__ENABLED=False - AUTHENTIK_POSTGRESQL__HOST=authentik_postgres - AUTHENTIK_POSTGRESQL__USER=authentik - AUTHENTIK_POSTGRESQL__NAME=authentik - AUTHENTIK_POSTGRESQL__PASSWORD=${DATABASE_PASSWORD} - AUTHENTIK_REDIS__HOST=authentik_redis - AUTHENTIK_BOOTSTRAP_PASSWORD=${AUTHENTIK_ADMIN_PASSWORD} user: root networks: - authentik_backend volumes: - /run/docker.sock:/run/docker.sock - authentik_data:/data - authentik_certs:/certs - authentik_templates:/templates depends_on: authentik_postgres: condition: service_healthy authentik_redis: condition: service_healthy authentik_postgres: image: docker.io/library/postgres:17.8 container_name: authentik-postgres restart: unless-stopped environment: - POSTGRES_USER=authentik - POSTGRES_PASSWORD=${DATABASE_PASSWORD} - POSTGRES_DB=authentik healthcheck: test: ["CMD-SHELL", "pg_isready -U authentik"] start_period: 30s interval: 10s timeout: 10s retries: 5 networks: - authentik_backend volumes: - authentik_postgres:/var/lib/postgresql/data authentik_redis: image: docker.io/library/redis:7-alpine container_name: authentik-redis restart: unless-stopped command: --save 60 1 --loglevel warning healthcheck: test: ["CMD-SHELL", "redis-cli ping | grep PONG"] start_period: 10s interval: 10s timeout: 5s retries: 5 networks: - authentik_backend volumes: - authentik_redis:/data networks: authentik_backend: driver: bridge volumes: authentik_postgres: driver: local authentik_redis: driver: local authentik_data: driver: local authentik_certs: driver: local authentik_templates: driver: local