52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# `thetadev256/keycloak`
|
|
|
|
Optimized keycloak image with Postgres support and persistent cache (Sessions are
|
|
preserved between restarts).
|
|
|
|
Original image source: https://quay.io/repository/keycloak/keycloak?tab=tags&tag=latest
|
|
|
|
### Example docker-compose
|
|
|
|
Keycloak behind Traefik reverse proxy
|
|
|
|
```yaml
|
|
version: "3"
|
|
services:
|
|
keycloak:
|
|
image: thetadev256/keycloak:latest
|
|
restart: unless-stopped
|
|
volumes:
|
|
- keycloak-cache:/opt/keycloak/cache
|
|
networks:
|
|
- proxy
|
|
environment:
|
|
- KC_HOSTNAME=auth.example.com
|
|
- KC_DB=postgres
|
|
- KC_DB_URL=jdbc:postgresql://postgres/keycloak
|
|
- KC_DB_USERNAME=postgres
|
|
- KC_DB_PASSWORD=secret
|
|
- KC_HTTP_ENABLED=true
|
|
- KC_PROXY=edge
|
|
- KEYCLOAK_ADMIN=admin
|
|
- KEYCLOAK_ADMIN_PASSWORD=change_me
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=proxy"
|
|
- "traefik.http.routers.keycloak.entrypoints=websecure"
|
|
- "traefik.http.routers.keycloak.rule=Host(`auth.example.com`)"
|
|
- "traefik.http.services.keycloak.loadbalancer.server.port=8080"
|
|
command: ["start"]
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
|
|
volumes:
|
|
keycloak-cache:
|
|
```
|
|
|
|
### Original documentation
|
|
|
|
Configuration options: https://www.keycloak.org/server/all-config
|
|
|
|
About the dockerfile: https://www.keycloak.org/server/containers
|