authentik
Posted
authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols.
# file: `docker-compose.yml`
services:
authentik:
image: ${HONEYPI_IMAGE_REGISTRY_HOST:-docker.io}/ghcr.io/goauthentik/server:${HONEYPI_AUTHENTIK_VERSION:-latest}
restart: unless-stopped
container_name: authentik
command: server
ports:
- ${HONEYPI_AUTHENTIK_PORT:-9000}:9000
volumes:
- ${HONEYPI_DATA}/authentik/media:/media
- ${HONEYPI_DATA}/authentik/templates:/templates
environment:
- AUTHENTIK_REDIS__HOST=${HONEYPI_REDIS_HOST:-localhost}
- AUTHENTIK_POSTGRESQL__HOST=${HONEYPI_POSTGRES_HOST:-localhost}
- AUTHENTIK_POSTGRESQL__USER=${HONEYPI_POSTGRES_USER:-admin}
- AUTHENTIK_POSTGRESQL__NAME=${HONEYPI_AUTHENTIK_DB_NAME:-authentik}
- AUTHENTIK_POSTGRESQL__PASSWORD=${HONEYPI_POSTGRES_PASSWORD}
- AUTHENTIK_SECRET_KEY=${HONEYPI_AUTHENTIK_SECRET_KEY}
- AUTHENTIK_EMAIL__HOST=${HONEYPI_EMAIL_HOST}
- AUTHENTIK_EMAIL__PORT=${HONEYPI_EMAIL_PORT}
- AUTHENTIK_EMAIL__USERNAME=${HONEYPI_EMAIL_USERNAME}
- AUTHENTIK_EMAIL__PASSWORD=${HONEYPI_EMAIL_PASSWORD}
- AUTHENTIK_EMAIL__FROM=${HONEYPI_EMAIL_FROM}
- AUTHENTIK_HOST=https://${HONEYPI_AUTHENTIK_HOST}
- AUTHENTIK_INSECURE=false
labels:
- traefik.enable=${HONEYPI_AUTHENTIK_TRAEFIK_ENABLE:-false}
- traefik.http.routers.authentik.rule=Host(`${HONEYPI_AUTHENTIK_HOST}`)
- traefik.http.routers.authentik.entrypoints=websecure
- traefik.http.routers.authentik.tls.certresolver=resolver
- traefik.http.routers.authentik.service=authentik
- traefik.http.services.authentik.loadbalancer.server.port=9000
authentik-worker:
image: ${HONEYPI_IMAGE_REGISTRY_HOST:-docker.io}/ghcr.io/goauthentik/server:${HONEYPI_AUTHENTIK_VERSION:-latest}
restart: unless-stopped
container_name: authentik-worker
command: worker
volumes:
- ${HONEYPI_DATA}/authentik/media:/media
- ${HONEYPI_DATA}/authentik/certs:/certs
- ${HONEYPI_DATA}/authentik/templates:/templates
environment:
- AUTHENTIK_REDIS__HOST=${HONEYPI_REDIS_HOST:-localhost}
- AUTHENTIK_POSTGRESQL__HOST=${HONEYPI_POSTGRES_HOST:-localhost}
- AUTHENTIK_POSTGRESQL__USER=${HONEYPI_POSTGRES_USER:-admin}
- AUTHENTIK_POSTGRESQL__NAME=${HONEYPI_AUTHENTIK_DB_NAME:-authentik}
- AUTHENTIK_POSTGRESQL__PASSWORD=${HONEYPI_POSTGRES_PASSWORD}
- AUTHENTIK_SECRET_KEY=${HONEYPI_AUTHENTIK_SECRET_KEY}
- AUTHENTIK_EMAIL__HOST=${HONEYPI_EMAIL_HOST}
- AUTHENTIK_EMAIL__PORT=${HONEYPI_EMAIL_PORT}
- AUTHENTIK_EMAIL__USERNAME=${HONEYPI_EMAIL_USERNAME}
- AUTHENTIK_EMAIL__PASSWORD=${HONEYPI_EMAIL_PASSWORD}
- AUTHENTIK_EMAIL__FROM=${HONEYPI_EMAIL_FROM}
- AUTHENTIK_HOST=https://${HONEYPI_AUTHENTIK_HOST}
- AUTHENTIK_INSECURE=false
depends_on:
- authentik