services: postgresql: container_name: postgresql image: docker.io/library/postgres:12-alpine restart: unless-stopped env_file: ./authentik.env healthcheck: test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] start_period: 20s interval: 30s retries: 5 timeout: 5s volumes: - ${PERSISTANT_STORAGE_PATH}/authentik/db-data:/var/lib/postgresql/data environment: # POSTGRES_PASSWORD: ${PG_PASS:?database password required} # POSTGRES_USER: ${PG_USER:-authentik} # POSTGRES_DB: ${PG_DB:-authentik} POSTGRES_PASSWORD: SoDJ220QI1UR6XghqtqXwWTbvzdsu0Ts216sFxh1YpFqVWiN #${PG_PASS} POSTGRES_USER: authentik POSTGRES_DB: authentik # env_file: # - stack.env networks: - authentik-nw redis: container_name: redis image: docker.io/library/redis:alpine env_file: ./authentik.env 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-nw server: container_name: server image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.12.3} restart: unless-stopped command: server env_file: ./authentik.env environment: AUTHENTIK_REDIS__HOST: redis AUTHENTIK_POSTGRESQL__HOST: postgresql # AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik} # AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} # AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} AUTHENTIK_POSTGRESQL__USER: authentik AUTHENTIK_POSTGRESQL__NAME: authentik AUTHENTIK_POSTGRESQL__PASSWORD: SoDJ220QI1UR6XghqtqXwWTbvzdsu0Ts216sFxh1YpFqVWiN #${PG_PASS} AUTHENTIK_SECRET_KEY: EZhWSz42hYm8jSuxbrPAW21Xjx5z9xSdy+H5qFzU6oNDWzoH045SPsKBgw66cyn8gHhLTcupF/TNrNun #${AUTHENTIK_SECRET_KEY} volumes: - ${PERSISTANT_STORAGE_PATH}/authentik/media:/media - ${PERSISTANT_STORAGE_PATH}/authentik/custom-templates:/templates - ${PERSISTANT_STORAGE_PATH}/authentik/branding/brand_icon.png:/web/dist/assets/icons/icon_left_brand.png - ${PERSISTANT_STORAGE_PATH}/authentik/branding/favicon.ico:/web/dist/assets/icons/favicon.ico # env_file: # - stack.env ports: # - "${COMPOSE_PORT_HTTP:-9000}:9000" # - "${COMPOSE_PORT_HTTPS:-9443}:9443" - "21304:9000" - "21305:9443" depends_on: - postgresql - redis networks: - authentik-nw worker: container_name: worker image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.10.4} restart: unless-stopped command: worker env_file: ./authentik.env environment: AUTHENTIK_REDIS__HOST: redis AUTHENTIK_POSTGRESQL__HOST: postgresql # AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik} # AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} # AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} AUTHENTIK_POSTGRESQL__USER: authentik AUTHENTIK_POSTGRESQL__NAME: authentik AUTHENTIK_POSTGRESQL__PASSWORD: SoDJ220QI1UR6XghqtqXwWTbvzdsu0Ts216sFxh1YpFqVWiN #${PG_PASS} AUTHENTIK_SECRET_KEY: EZhWSz42hYm8jSuxbrPAW21Xjx5z9xSdy+H5qFzU6oNDWzoH045SPsKBgw66cyn8gHhLTcupF/TNrNun #${AUTHENTIK_SECRET_KEY} # `user: root` and the docker socket volume are optional. # See more for the docker socket integration here: # https://goauthentik.io/docs/outposts/integrations/docker # Removing `user: root` also prevents the worker from fixing the permissions # on the mounted folders, so when removing this make sure the folders have the correct UID/GID # (1000:1000 by default) user: root volumes: - /var/run/docker.sock:/var/run/docker.sock - ${PERSISTANT_STORAGE_PATH}/authentik/media:/media - ${PERSISTANT_STORAGE_PATH}/authentik/certs:/certs - ${PERSISTANT_STORAGE_PATH}/authentik/custom-templates:/templates depends_on: - postgresql - redis networks: - authentik-nw mine-pgadmin: container_name: mine-pgadmin depends_on: - postgresql image: dpage/pgadmin4:9 env_file: ./authentik.env restart: always ports: - 21303:80 # volumes: # - ${PERSISTANT_STORAGE_PATH}/nextcloud/pgadmin:/var/lib/pgadmin environment: TZ: ${TIMEZONE} PGADMIN_DEFAULT_EMAIL: postgres@e3labs.net PGADMIN_DEFAULT_PASSWORD: postgres PGADMIN_LISTEN_PORT: 80 networks: - authentik-nw networks: authentik-nw: volumes: database: driver: local redis: driver: local media: driver: local custom-templates: driver: local certs: driver: local