compose/authentik/docker-compose.yml
2024-12-29 09:58:07 +08:00

82 lines
2.0 KiB
YAML

services:
database:
container_name: authentik-database
image: postgres:12-alpine
restart: unless-stopped
healthcheck:
test: [ "CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}" ]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
env_file:
- doocker.env
volumes:
- ./database:/var/lib/postgresql/data
networks:
- authentik
redis:
container_name: authentik-redis
image: redis:alpine
command: --save 60 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: [ "CMD-SHELL", "redis-cli ping | grep PONG" ]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- ./redis:/data
networks:
- authentik
server:
container_name: authentik-server
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.2.2}
restart: unless-stopped
command: server
env_file:
- docker.env
volumes:
- ./media:/media
- ./templates:/templates
networks:
- authentik
- proxy
depends_on:
- database
- redis
labels:
- "traefik.enable=true"
- "traefik.http.routers.authentik.entrypoints=websecure"
- "traefik.http.routers.authentik.rule=Host(`auth.example.com`)"
- "traefik.http.routers.authentik.service=authentik"
- "traefik.http.services.authentik.loadBalancer.server.port=9000"
worker:
container_name: authentik-worker
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.2.2}
restart: unless-stopped
command: worker
user: root
env_file:
- docker.env
volumes:
# - /var/run/docker.sock:/var/run/docker.sock
- ./media:/media
- ./certs:/certs
- ./templates:/templates
networks:
- authentik
depends_on:
- database
- redis
networks:
authentik:
name: authentik
driver: bridge
proxy:
external: true