Files
docker-stacks/stacks/authentik/docker-compose.yml
knight 32e7536fd8
Some checks failed
Deploy Stacks / deploy-prod (push) Failing after 6s
Deploy Stacks / deploy-dev (push) Has been cancelled
Add stack-type labels and public service stacks
Add com.ghost.tel/stack-type labels to all stacks:
- prod (17): Production services from core
- dev-only (11): Experimental/device-specific services
- public (8): Public-facing services (uplink.tel, sequela.tel)

New public stacks from docker-public:
- nitter-public: Nitter instance for uplink.tel
- freshrss-public: FreshRSS for uplink.tel
- rsshub-public: RSSHub for uplink.tel
- searx-public: SearXNG for uplink.tel
- wikijs-public: Wiki.js for sequela.tel
- matomo-public: Matomo analytics for sequela.tel

Also fixes:
- Remove obsolete 'version' key from compose files
- Fix snowflake to remove duplicate watchtower service
- Standardize compose file formatting

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 10:02:37 -05:00

79 lines
2.1 KiB
YAML

services:
server:
image: ghcr.io/goauthentik/server:latest
container_name: authentik-server
restart: unless-stopped
ports:
- "9000:9000"
command: server
environment:
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: ${AUTHENTIK_PG_PASS}
volumes:
- ./media:/media
- ./custom-templates:/templates
env_file:
- .env
depends_on:
- postgresql
- redis
networks:
- web
- default
labels:
- "com.ghost.tel/stack-type=prod"
- "traefik.enable=true"
- "traefik.http.routers.authentik.entrypoints=https"
- "traefik.http.routers.authentik.rule=Host(`authentik.${DOMAIN}`)"
- "traefik.http.routers.authentik.tls.certresolver=http"
- "traefik.http.services.authentik.loadbalancer.server.port=9000"
worker:
image: ghcr.io/goauthentik/server:latest
container_name: authentik-worker
restart: unless-stopped
command: worker
environment:
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: ${AUTHENTIK_PG_PASS}
volumes:
- ./media:/media
- ./certs:/certs
- ./custom-templates:/templates
env_file:
- .env
depends_on:
- postgresql
- redis
postgresql:
image: postgres:15-alpine
container_name: authentik-postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${AUTHENTIK_PG_PASS}
POSTGRES_USER: authentik
POSTGRES_DB: authentik
volumes:
- ./postgres:/var/lib/postgresql/data
redis:
image: redis:alpine
container_name: authentik-redis
restart: unless-stopped
command: --save 60 1 --loglevel warning
volumes:
- ./redis:/data
networks:
web:
external: true