87 lines
3.3 KiB
YAML
87 lines
3.3 KiB
YAML
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
|