Docker/Keycloak/docker-compose.yaml
2024-04-01 13:04:10 +02:00

65 lines
1.9 KiB
YAML

#### networks
networks:
docker-traefik_front_network:
external: true
back_network:
driver: bridge
attachable: true
#### services
services:
postgres:
container_name: keycloak-postgres
hostname: keycloak-postgres
image: postgres:15.6-alpine
restart: always
healthcheck:
test: ["CMD", "pg_isready", "-U", "keycloak"]
environment:
POSTGRES_DB: keycloak_db
POSTGRES_USER: keycloak_user
POSTGRES_PASSWORD: 'P@ssword!Here!123456'
volumes:
- ./data:/var/lib/postgresql/data
networks:
- back_network
keycloak:
container_name: keycloak-app
hostname: keycloak-app
image: quay.io/keycloak/keycloak:latest
command: ["start-dev", "--import-realm"]
restart: always
environment:
KC_DB: postgres
KC_DB_USERNAME: keycloak_user
KC_DB_PASSWORD: P@ssword!Here!123456
KC_DB_URL: "jdbc:postgresql://postgres:5432/keycloak_db"
KC_HOSTNAME: keycloak.tips-of-mine.local
KC_METRICS_ENABLED: true
KC_LOG_LEVEL: INFO
KC_REALM_NAME: grafana
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: keycloak
KC_PROXY: edge
ports:
- 8282:8080
networks:
- back_network
- docker-traefik_front_network
labels:
- "traefik.enable=true"
- "traefik.docker.network=docker-traefik_front_network"
# HTTP
- "traefik.http.routers.keycloak-http.rule=Host(`keycloak.tips-of-mine.local`)"
- "traefik.http.routers.keycloak-http.entrypoints=http"
# HTTPS
- "traefik.http.routers.keycloak-https.rule=Host(`keycloak.tips-of-mine.local`)"
- "traefik.http.routers.keycloak-https.entrypoints=https"
- "traefik.http.routers.keycloak-https.tls=true"
- "traefik.http.routers.keycloak-https.service=keycloak-service"
# Middleware
# Service
- "traefik.http.services.keycloak-service.loadbalancer.server.port=8080"