65 lines
1.9 KiB
YAML
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"
|