186 lines
5.0 KiB
YAML
186 lines
5.0 KiB
YAML
services:
|
|
postgresql:
|
|
container_name: authentik_postgresql
|
|
env_file:
|
|
- .env
|
|
image: postgres:12-alpine
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD-SHELL",
|
|
"pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"
|
|
]
|
|
start_period: 20s
|
|
interval: 30s
|
|
retries: 5
|
|
timeout: 5s
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
authentik:
|
|
ipv4_address: 172.14.0.3
|
|
restart: unless-stopped
|
|
volumes:
|
|
- postgressql:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
command: --save 60 1 --loglevel warning
|
|
container_name: authentik_redis
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "redis-cli ping | grep PONG" ]
|
|
start_period: 20s
|
|
interval: 30s
|
|
retries: 5
|
|
timeout: 3s
|
|
image: redis:alpine
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
authentik:
|
|
ipv4_address: 172.14.0.2
|
|
restart: unless-stopped
|
|
volumes:
|
|
- redis:/data
|
|
|
|
authentik:
|
|
command: server
|
|
container_name: authentik_server
|
|
depends_on:
|
|
- postgresql
|
|
- redis
|
|
env_file:
|
|
- .env
|
|
image: ghcr.io/goauthentik/server:2022.12.2
|
|
labels:
|
|
traefik.docker.network: traefik
|
|
traefik.enable: true
|
|
traefik.http.routers.authentik.entrypoints: websecure
|
|
traefik.http.routers.authentik.rule: Host(`authentik-old.alexlebens.net`)
|
|
traefik.http.routers.authentik.service: authentik
|
|
traefik.http.services.authentik.loadbalancer.server.port: 9000
|
|
traefik.http.routers.authentikoutpost.rule: HostRegexp(`{subdomain:[a-z0-9-]+}.alexlebens.net`) && PathPrefix(`/outpost.goauthentik.io/`)
|
|
traefik.http.routers.authentikoutpost.entrypoints: websecure
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
traefik: null
|
|
authentik:
|
|
ipv4_address: 172.14.0.10
|
|
restart: unless-stopped
|
|
privileged: true
|
|
volumes:
|
|
- media:/media
|
|
- templates:/templates
|
|
|
|
authentik_worker:
|
|
command: worker
|
|
container_name: authentik_worker
|
|
depends_on:
|
|
- authentik
|
|
env_file:
|
|
- .env
|
|
image: ghcr.io/goauthentik/server:2022.12.2
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
authentik:
|
|
ipv4_address: 172.14.0.11
|
|
privileged: true
|
|
restart: unless-stopped
|
|
user: root
|
|
volumes:
|
|
- backups:/backups
|
|
- certs:/certs
|
|
- media:/media
|
|
- templates:/templates
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
authentik_ldap:
|
|
container_name: authentik_ldap
|
|
depends_on:
|
|
- authentik
|
|
env_file:
|
|
- .env
|
|
image: ghcr.io/goauthentik/ldap:2022.12.2
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
networks:
|
|
authentik:
|
|
ipv4_address: 172.14.0.12
|
|
traefik: null
|
|
ports:
|
|
- 192.168.1.15:389:389/tcp
|
|
- 192.168.1.15:636:636/tcp
|
|
privileged: true
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
traefik:
|
|
name: traefik
|
|
external: true
|
|
|
|
authentik:
|
|
name: authentik
|
|
external: false
|
|
ipam:
|
|
config:
|
|
- subnet: 172.14.0.0/16
|
|
|
|
volumes:
|
|
postgressql:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/authentik_postgressql
|
|
|
|
redis:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/authentik_redis
|
|
|
|
backups:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/authentik_backups
|
|
|
|
certs:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/authentik_certs
|
|
|
|
media:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/authentik_media
|
|
|
|
templates:
|
|
driver: local
|
|
driver_opts:
|
|
type: none
|
|
o: bind
|
|
device: /var/lib/docker/volumes/partition/authentik_templates
|