services: authentik-postgres: image: docker.io/library/postgres:16-alpine container_name: authentik-postgres ports: - "15432:5432" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] start_period: 20s interval: 30s retries: 5 timeout: 5s volumes: - /opt/authentik/database:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: ${AUTHENTIK_PG_PASSWORD} POSTGRES_USER: ${AUTHENTIK_PG_USER:-authentik} POSTGRES_DB: ${AUTHENTIK_PG_DB:-authentik} authentik-redis: image: docker.io/library/redis:alpine container_name: authentik-redis command: --save 60 1 --loglevel warning restart: unless-stopped healthcheck: test: ["CMD-SHELL", "redis-cli ping | grep PONG"] start_period: 20s interval: 30s retries: 5 timeout: 3s volumes: - /opt/authentik/redis:/data authentik-server: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.8.1} container_name: authentik-server restart: unless-stopped command: server environment: AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY} AUTHENTIK_REDIS__HOST: authentik-redis AUTHENTIK_POSTGRESQL__HOST: authentik-postgres AUTHENTIK_POSTGRESQL__USER: ${AUTHENTIK_PG_USER:-authentik} AUTHENTIK_POSTGRESQL__NAME: ${AUTHENTIK_PG_DB:-authentik} AUTHENTIK_POSTGRESQL__PASSWORD: ${AUTHENTIK_PG_PASSWORD} volumes: - /opt/authentik/media:/media - /opt/authentik/templates:/templates ports: - "19000:9000" - "19443:9443" depends_on: - authentik-postgres - authentik-redis extra_hosts: - host:192.168.2.200 authentik-worker: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.8.1} container_name: authentik-worker restart: unless-stopped command: worker environment: AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY} AUTHENTIK_REDIS__HOST: authentik-redis AUTHENTIK_POSTGRESQL__HOST: authentik-postgres AUTHENTIK_POSTGRESQL__USER: ${AUTHENTIK_PG_USER:-authentik} AUTHENTIK_POSTGRESQL__NAME: ${AUTHENTIK_PG_DB:-authentik} AUTHENTIK_POSTGRESQL__PASSWORD: ${AUTHENTIK_PG_PASSWORD} volumes: - /opt/authentik/media:/media - /opt/authentik/certs:/certs - /opt/authentik/templates:/templates depends_on: - authentik-postgres - authentik-redis