Files
curs-sobirania-digital/authentik/docker-compose.yml
Guillem Hernandez Sola f1fe15d1b5 Tots els compose
2026-06-30 13:12:37 +02:00

103 lines
3.4 KiB
YAML

# /opt/stacks/authentik/docker-compose.yml
services:
# ── Base de dades PostgreSQL ─────────────
postgresql:
container_name: authentik-postgres
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_PASSWORD: '${PG_PASS}'
POSTGRES_USER: authentik
POSTGRES_DB: authentik
volumes:
- pg_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U authentik -d authentik"]
interval: 10s
timeout: 5s # Afegit
retries: 5
start_period: 30s # Afegit
networks: [authentik_net]
# ── Redis per a sessions ─────────────────
redis:
container_name: authentik-redis
image: redis:7.4-alpine
restart: unless-stopped
command: redis-server --requirepass '${REDIS_PASS}'
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASS}", "ping"]
interval: 10s
timeout: 5s # Afegit
retries: 5
start_period: 15s # Afegit
networks: [authentik_net]
# ── Authentik Server (API + UI) ───────────
server:
container_name: authentik-server
image: ghcr.io/goauthentik/server:2026.5.3 # Actualitzat a darrera versió estable
restart: unless-stopped
command: server
environment:
# ⚠️ NO afegir TZ aquí — trenca OAuth/SAML (doc oficial)
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_REDIS__PASSWORD: '${REDIS_PASS}'
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: '${PG_PASS}'
AUTHENTIK_SECRET_KEY: '${AUTHENTIK_SECRET_KEY}'
AUTHENTIK_ERROR_REPORTING__ENABLED: "false" # String, no booleà YAML
ports:
- "127.0.0.1:9000:9000" # HTTP (només local → via Nginx)
- "127.0.0.1:9443:9443" # HTTPS (només local → via Nginx)
volumes:
- authentik_media:/media
- authentik_templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks: [authentik_net, shared_net]
# ── Authentik Worker (tasques en segon pla) ──
worker:
container_name: authentik-worker
image: ghcr.io/goauthentik/server:2026.5.3 # Mateixa versió que server
restart: unless-stopped
command: worker
environment:
# ⚠️ NO afegir TZ aquí — trenca OAuth/SAML (doc oficial)
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_REDIS__PASSWORD: '${REDIS_PASS}'
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: authentik
AUTHENTIK_POSTGRESQL__NAME: authentik
AUTHENTIK_POSTGRESQL__PASSWORD: '${PG_PASS}'
AUTHENTIK_SECRET_KEY: '${AUTHENTIK_SECRET_KEY}'
volumes:
- authentik_media:/media
- authentik_templates:/templates # Afegit: worker també necessita templates
- /var/run/docker.sock:/var/run/docker.sock:ro # Gestió automàtica d'Outposts
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
networks: [authentik_net]
volumes:
pg_data:
authentik_media:
authentik_templates:
networks:
authentik_net:
driver: bridge
shared_net:
external: true
name: shared_net