services: postgresql: image: docker.io/library/postgres:16-alpine restart: unless-stopped healthcheck: test: - CMD-SHELL - pg_isready -d $${DENACCESS_POSTGRES_DB} -U $${DENACCESS_POSTGRES_USER} start_period: 20s interval: 30s retries: 5 timeout: 5s volumes: - /home/docker/DenAccess/database:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=${DENACCESS_POSTGRES_PASSWORD} - POSTGRES_USER=${DENACCESS_POSTGRES_USER} - POSTGRES_DB=${DENACCESS_POSTGRES_DB} env_file: - .env networks: tan-network: ipv4_address: 10.10.0.30 redis: image: docker.io/library/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: - /home/docker/DenAccess/redis:/data networks: tan-network: ipv4_address: 10.10.0.31 server: image: ghcr.io/goauthentik/server:2025.10.2 restart: unless-stopped command: server environment: - AUTHENTIK_REDIS__HOST=redis - AUTHENTIK_POSTGRESQL__HOST=postgresql - AUTHENTIK_POSTGRESQL__USER=${DENACCESS_POSTGRES_USER} - AUTHENTIK_POSTGRESQL__NAME=${DENACCESS_POSTGRES_DB} - AUTHENTIK_POSTGRESQL__PASSWORD=${DENACCESS_POSTGRES_PASSWORD} - AUTHENTIK_ERROR_REPORTING__ENABLED=true - AUTHENTIK_SECRET_KEY=${DENACCESS_AUTHENTIK_SECRET_KEY} - AUTHENTIK_HOST=${DENACCESS_AUTHENTIK_HOST} - AUTHENTIK_INSECURE=false - AUTHENTIK_COOKIE__SECURE=true - AUTHENTIK_SESSION__COOKIE_SECURE=true - TRUSTED_PROXIES=10.10.0.20 volumes: - /home/docker/DenAccess/media:/media - /home/docker/DenAccess/custom-templates:/templates env_file: - .env depends_on: - postgresql - redis networks: tan-network: ipv4_address: 10.10.0.32 labels: - traefik.enable=true # ROUTER - traefik.http.routers.authentik.rule=Host(`access.luckyden.org`) - traefik.http.routers.authentik.entrypoints=websecure - traefik.http.routers.authentik.tls=true # SERVICE (HTTP interne uniquement !) - traefik.http.services.authentik.loadbalancer.server.port=9000 # HEADERS IMPORTANT (auth flows) - traefik.http.middlewares.authentik-headers.headers.customrequestheaders.X-Forwarded-Proto=https - traefik.http.routers.authentik.middlewares=authentik-headers worker: image: ghcr.io/goauthentik/server:2025.10.2 restart: unless-stopped command: worker environment: - AUTHENTIK_REDIS__HOST=redis - AUTHENTIK_POSTGRESQL__HOST=postgresql - AUTHENTIK_POSTGRESQL__USER=${DENACCESS_POSTGRES_USER} - AUTHENTIK_POSTGRESQL__NAME=${DENACCESS_POSTGRES_DB} - AUTHENTIK_POSTGRESQL__PASSWORD=${DENACCESS_POSTGRES_PASSWORD} - AUTHENTIK_ERROR_REPORTING__ENABLED=true - AUTHENTIK_SECRET_KEY=${DENACCESS_AUTHENTIK_SECRET_KEY} - AUTHENTIK_HOST=${DENACCESS_AUTHENTIK_HOST} - AUTHENTIK_INSECURE=false user: root volumes: - /var/run/docker.sock:/var/run/docker.sock - /home/docker/DenAccess/media:/media - /home/docker/DenAccess/certs:/certs - /home/docker/DenAccess/custom-templates:/templates env_file: - .env depends_on: - postgresql - redis networks: tan-network: ipv4_address: 10.10.0.33 networks: tan-network: external: true