| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- ---
- services:
- postgres:
- image: postgres:16.2
- container_name: authentik-db
- environment:
- - POSTGRES_USER=${POSTGRES_USER}
- - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- - POSTGRES_DB=${POSTGRES_DB}
- healthcheck:
- test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
- start_period: 20s
- interval: 30s
- retries: 5
- timeout: 5s
- volumes:
- - postgres-data:/var/lib/postgresql/data
- restart: unless-stopped
- redis:
- image: redis:7.2.4
- container_name: authentik-redis
- command: --save 60 1 --loglevel warning
- healthcheck:
- test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
- start_period: 20s
- interval: 30s
- retries: 5
- timeout: 3s
- volumes:
- - redis-data:/data
- restart: unless-stopped
- server:
- image: ghcr.io/goauthentik/server:2024.2.2
- container_name: authentik-server
- command: server
- environment:
- - AUTHENTIK_REDIS__HOST=authentik-redis
- - AUTHENTIK_POSTGRESQL__HOST=authentik-db
- - AUTHENTIK_POSTGRESQL__USER=${POSTGRES_USER}
- - AUTHENTIK_POSTGRESQL__NAME=${POSTGRES_DB}
- - AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD}
- # (Required) To generate a secret key run the following command:
- # echo $(openssl rand -base64 32)
- - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY}
- # (Optional) Enable Error Reporting
- # - AUTHENTIK_ERROR_REPORTING__ENABLED=true
- # (Optional) Enable Email Sending
- # - AUTHENTIK_EMAIL__HOST=localhost
- # - AUTHENTIK_EMAIL__PORT=25
- # - AUTHENTIK_EMAIL__USERNAME=${EMAIL_USERNAME}
- # - AUTHENTIK_EMAIL__PASSWORD=${EMAIL_PASSWORD}
- # - AUTHENTIK_EMAIL__USE_TLS=false
- # - AUTHENTIK_EMAIL__USE_SSL=false
- # - AUTHENTIK_EMAIL__TIMEOUT=10
- # - AUTHENTIK_EMAIL__FROM=authentik@localhost # replace with your email address
- ports:
- - 9000:9000
- - 9443:9443
- volumes:
- - ./media:/media
- - ./custom-templates:/templates
- depends_on:
- - postgresql
- - redis
- restart: unless-stopped
- worker:
- image: ghcr.io/goauthentik/server:2024.2.2
- container_name: authentik-worker
- command: worker
- environment:
- - AUTHENTIK_REDIS__HOST=authentik-redis
- - AUTHENTIK_POSTGRESQL__HOST=authentik-db
- - AUTHENTIK_POSTGRESQL__USER=${POSTGRES_USER}
- - AUTHENTIK_POSTGRESQL__NAME=${POSTGRES_DB}
- - AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD}
- # (Optional) When using the docker socket integration
- # See more for the docker socket integration here:
- # https://goauthentik.io/docs/outposts/integrations/docker
- # user: root
- volumes:
- # (Optional) When using the docker socket integration
- # - /var/run/docker.sock:/var/run/docker.sock
- - ./media:/media
- - ./certs:/certs
- - ./custom-templates:/templates
- depends_on:
- - postgresql
- - redis
- restart: unless-stopped
- volumes:
- postgres-data:
- driver: local
- redis-data:
- driver: local
|