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>
79 lines
2.1 KiB
YAML
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
|