volumes: redis: {} media: {} custom_templates: {} geoip: {} backups: {} services: redis: image: redis:alpine container_name: authentik-redis networks: - authentik restart: unless-stopped volumes: - redis:/data healthcheck: test: - CMD-SHELL - redis-cli ping | grep PONG start_period: 20s interval: 30s retries: 5 timeout: 3s server: image: ghcr.io/goauthentik/server container_name: authentik restart: unless-stopped command: server volumes: - media:/media - custom_templates:/templates - geoip:/geoip env_file: - .env networks: - authentik - postgres - proxy worker: image: ghcr.io/goauthentik/server container_name: authentik-worker restart: unless-stopped command: worker user: root volumes: - backups:/backups - custom_templates:/templates - geoip:/geoip - media:/media - /var/run/docker.sock:/var/run/docker.sock env_file: - .env networks: - authentik - postgres geoipupdate: image: maxmindinc/geoipupdate container_name: authentik-geoipupdate restart: unless-stopped networks: - authentik volumes: - geoip:/usr/share/GeoIP env_file: - .env environment: GEOIPUPDATE_EDITION_IDS: GeoLite2-City GEOIPUPDATE_FREQUENCY: '8' whoami-test: image: traefik/whoami container_name: whoami-test restart: unless-stopped security_opt: - no-new-privileges:true networks: - proxy environment: - TZ networks: authentik: external: true postgres: external: true proxy: external: true