Jafner.net/homelab/stacks/keycloak/docker-compose.yml

102 lines
2.9 KiB
YAML
Raw Permalink Normal View History

2022-10-12 15:31:44 -07:00
services:
2024-01-08 11:44:38 -08:00
keycloak:
image: quay.io/keycloak/keycloak:latest
2024-01-08 11:44:38 -08:00
container_name: keycloak_keycloak
networks:
keycloak:
aliases:
- keycloak
web:
aliases:
- keycloak
restart: "no"
depends_on:
- postgres
2024-07-17 15:52:56 -07:00
command: start --hostname=keycloak.jafner.net
environment:
KC_DB: postgres
KC_DB_URL: jdbc:postgresql://postgres/keycloak
KC_DB_USERNAME: keycloak
KC_PROXY_HEADERS: xforwarded
KC_HTTP_ENABLED: true
KC_HEALTH_ENABLED: true
KC_METRICS_ENABLED: true
KEYCLOAK_ADMIN: Jafner
2024-10-08 11:52:30 -07:00
env_file:
- path: ./keycloak.secrets
required: true
2024-01-08 11:44:38 -08:00
labels:
traefik.http.routers.keycloak.rule: Host(`keycloak.jafner.net`)
traefik.http.routers.keycloak.tls.certresolver: lets-encrypt
traefik.http.routers.keycloak.middlewares: keycloak-redirect
traefik.http.services.keycloak.loadbalancer.server.port: 8080
traefik.http.middlewares.keycloak-redirect.redirectregex.regex: ^https:\\/\\/([^\\//]+)\\/?$$"
traefik.http.middlewares.keycloak-redirect.redirectregex.replacement: https://$$1/admin"
2022-10-17 08:44:09 -07:00
forwardauth:
image: mesosphere/traefik-forward-auth:latest
2022-10-17 08:44:09 -07:00
container_name: keycloak_forwardauth
networks:
web:
2022-10-17 10:09:11 -07:00
aliases:
- forwardauth
2024-10-08 11:52:30 -07:00
restart: "always"
command: "./traefik-forward-auth"
2023-04-06 12:37:10 -07:00
depends_on:
2024-03-08 20:44:10 -08:00
- keycloak
environment:
PROVIDER_URI: "https://keycloak.jafner.net/realms/Jafner.net"
CLIENT_ID: "traefik-forward-auth"
LOG_LEVEL: "debug"
2024-10-08 11:52:30 -07:00
env_file:
- path: ./forwardauth.secrets
required: true
2022-10-17 08:44:09 -07:00
labels:
- "traefik.enable=false"
2022-10-17 08:44:09 -07:00
- "traefik.http.routers.forwardauth.rule=Path(`/_oauth`)"
- "traefik.http.routers.forwardauth.tls.certresolver=lets-encrypt"
2023-01-11 21:09:25 -08:00
forwardauth-privileged:
image: mesosphere/traefik-forward-auth:latest
2023-01-11 21:09:25 -08:00
container_name: keycloak_forwardauth-privileged
networks:
web:
aliases:
2023-01-11 21:49:05 -08:00
- forwardauth-privileged
2024-10-08 11:52:30 -07:00
restart: "always"
command: "./traefik-forward-auth --whitelist=jafner425@gmail.com"
2023-04-06 12:37:10 -07:00
depends_on:
2024-03-08 20:44:10 -08:00
- keycloak
environment:
PROVIDER_URI: "https://keycloak.jafner.net/realms/Jafner.net"
CLIENT_ID: "traefik-forward-auth-privileged"
LOG_LEVEL: "debug"
2024-10-08 11:52:30 -07:00
env_file:
- path: ./forwardauth-privileged.secrets
required: true
2023-01-11 21:09:25 -08:00
labels:
- "traefik.enable=false"
2023-01-11 21:56:25 -08:00
- "traefik.http.routers.forwardauth-privileged.rule=Path(`/_oauth`)"
2023-01-11 21:09:25 -08:00
- "traefik.http.routers.forwardauth-privileged.tls.certresolver=lets-encrypt"
postgres:
image: postgres:latest
container_name: keycloak_postgres
networks:
- keycloak
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
2024-10-08 11:52:30 -07:00
env_file:
- path: ./postgres.secrets
required: true
volumes:
- postgres_data:/var/lib/postgresql/data
2022-10-12 15:31:44 -07:00
networks:
web:
external: true
keycloak:
2024-01-04 11:32:56 -08:00
volumes:
postgres_data: