name: identity-authentik services: authentik-server: image: ghcr.io/goauthentik/server:2026.5.0 container_name: authentik-server command: server restart: unless-stopped ports: - "9000:9000" environment: AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY} AUTHENTIK_ERROR_REPORTING__ENABLED: "false" AUTHENTIK_POSTGRESQL__HOST: shared-postgres AUTHENTIK_POSTGRESQL__PORT: 5432 AUTHENTIK_POSTGRESQL__NAME: ${AUTHENTIK_POSTGRES_DB} AUTHENTIK_POSTGRESQL__USER: ${AUTHENTIK_POSTGRES_USER} AUTHENTIK_POSTGRESQL__PASSWORD: ${AUTHENTIK_POSTGRES_PASSWORD} AUTHENTIK_POSTGRESQL__SSLMODE: disable AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD} AUTHENTIK_BOOTSTRAP_TOKEN: ${AUTHENTIK_BOOTSTRAP_TOKEN} AUTHENTIK_EMAIL__HOST: ${AUTHENTIK_EMAIL__HOST} AUTHENTIK_EMAIL__PORT: ${AUTHENTIK_EMAIL__PORT} AUTHENTIK_EMAIL__USERNAME: ${AUTHENTIK_EMAIL__USERNAME} AUTHENTIK_EMAIL__PASSWORD: ${AUTHENTIK_EMAIL__PASSWORD} AUTHENTIK_EMAIL__USE_TLS: ${AUTHENTIK_EMAIL__USE_TLS} AUTHENTIK_EMAIL__USE_SSL: ${AUTHENTIK_EMAIL__USE_SSL} AUTHENTIK_EMAIL__TIMEOUT: ${AUTHENTIK_EMAIL__TIMEOUT} AUTHENTIK_EMAIL__FROM: ${AUTHENTIK_EMAIL__FROM} volumes: - /mnt/tank/docker/appdata/authentik:/data - /mnt/docker-ssd/docker/compose/identity-authentik/custom-templates:/templates healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:9000/-/health/ready/ >/dev/null || exit 1"] interval: 30s timeout: 10s retries: 5 start_period: 45s shm_size: 512mb networks: - ix-databases_shared-databases - pangolin authentik-worker: image: ghcr.io/goauthentik/server:2026.5.0 container_name: authentik-worker command: worker restart: unless-stopped environment: AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY} AUTHENTIK_ERROR_REPORTING__ENABLED: "false" AUTHENTIK_POSTGRESQL__HOST: shared-postgres AUTHENTIK_POSTGRESQL__PORT: 5432 AUTHENTIK_POSTGRESQL__NAME: ${AUTHENTIK_POSTGRES_DB} AUTHENTIK_POSTGRESQL__USER: ${AUTHENTIK_POSTGRES_USER} AUTHENTIK_POSTGRESQL__PASSWORD: ${AUTHENTIK_POSTGRES_PASSWORD} AUTHENTIK_POSTGRESQL__SSLMODE: disable AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD} AUTHENTIK_BOOTSTRAP_TOKEN: ${AUTHENTIK_BOOTSTRAP_TOKEN} AUTHENTIK_EMAIL__HOST: ${AUTHENTIK_EMAIL__HOST} AUTHENTIK_EMAIL__PORT: ${AUTHENTIK_EMAIL__PORT} AUTHENTIK_EMAIL__USERNAME: ${AUTHENTIK_EMAIL__USERNAME} AUTHENTIK_EMAIL__PASSWORD: ${AUTHENTIK_EMAIL__PASSWORD} AUTHENTIK_EMAIL__USE_TLS: ${AUTHENTIK_EMAIL__USE_TLS} AUTHENTIK_EMAIL__USE_SSL: ${AUTHENTIK_EMAIL__USE_SSL} AUTHENTIK_EMAIL__TIMEOUT: ${AUTHENTIK_EMAIL__TIMEOUT} AUTHENTIK_EMAIL__FROM: ${AUTHENTIK_EMAIL__FROM} volumes: - /mnt/tank/docker/appdata/authentik:/data - /mnt/docker-ssd/docker/compose/identity-authentik/custom-templates:/templates healthcheck: test: ["CMD-SHELL", "ak healthcheck >/dev/null 2>&1 || exit 1"] interval: 30s timeout: 30s retries: 5 start_period: 60s shm_size: 512mb networks: - ix-databases_shared-databases - pangolin networks: ix-databases_shared-databases: external: true pangolin: external: true