# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # 🚀 BUILT & MAINTAINED BY THE ALTSTACK # 🌍 https://thealtstack.com # 💡 Open-source deployment templates for modern self-hosting. # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ services: server: image: ghcr.io/goauthentik/server:latest container_name: authentik-server restart: unless-stopped command: server depends_on: - db - redis ports: - "9000:9000" - "9443:9443" environment: - AUTHENTIK_REDIS__HOST=redis - AUTHENTIK_POSTGRESQL__HOST=db - AUTHENTIK_POSTGRESQL__USER=authentik - AUTHENTIK_POSTGRESQL__NAME=authentik - AUTHENTIK_POSTGRESQL__PASSWORD=authentik - AUTHENTIK_SECRET_KEY=generate-a-random-secret-key worker: image: ghcr.io/goauthentik/server:latest container_name: authentik-worker restart: unless-stopped command: worker depends_on: - db - redis environment: - AUTHENTIK_REDIS__HOST=redis - AUTHENTIK_POSTGRESQL__HOST=db - AUTHENTIK_POSTGRESQL__USER=authentik - AUTHENTIK_POSTGRESQL__NAME=authentik - AUTHENTIK_POSTGRESQL__PASSWORD=authentik - AUTHENTIK_SECRET_KEY=generate-a-random-secret-key db: image: postgres:12-alpine container_name: authentik-db restart: unless-stopped environment: - POSTGRES_PASSWORD=authentik - POSTGRES_USER=authentik - POSTGRES_DB=authentik volumes: - authentik_db_data:/var/lib/postgresql/data redis: image: redis:6-alpine container_name: authentik-redis restart: unless-stopped volumes: authentik_db_data: