Skip to content

Instantly share code, notes, and snippets.

@xgp
Created April 12, 2023 19:50
Show Gist options
  • Save xgp/1f4ea72e2a84aa8038487a6cca57c1f0 to your computer and use it in GitHub Desktop.
Save xgp/1f4ea72e2a84aa8038487a6cca57c1f0 to your computer and use it in GitHub Desktop.
running keycloak with mssql using docker-compose
version: '3'
volumes:
mssql_data:
driver: local
caddy_data:
driver: local
services:
mssql:
image: mcr.microsoft.com/mssql/server:2019-latest
volumes:
- mssql_data:/var/opt/mssql
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: 'Q5cmevevpDohImlCqYQl!'
ports:
- 1433:1433
mssqlscripts:
image: mcr.microsoft.com/mssql-tools
depends_on:
- mssql
command: /bin/bash -c 'until /opt/mssql-tools/bin/sqlcmd -S mssql -U sa -P "Q5cmevevpDohImlCqYQl!" -Q "create database keycloak"; do sleep 5; done'
keycloak:
image: quay.io/phasetwo/keycloak-crdb:latest
volumes:
- ${PWD}/target/keycloak-orgs-0.26-SNAPSHOT.jar:/opt/keycloak/providers/keycloak-orgs.jar
environment:
KC_DB: mssql
KC_HTTP_RELATIVE_PATH: /auth
PROXY_ADDRESS_FORWARDING: 'true'
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KC_DB_URL: 'jdbc:sqlserver://mssql:1433;databaseName=keycloak;encrypt=true;trustServerCertificate=true'
KC_DB_USERNAME: 'sa'
KC_DB_PASSWORD: 'Q5cmevevpDohImlCqYQl!'
KC_TRANSACTION_XA_ENABLED: false
KC_HOSTNAME_STRICT: 'false'
KC_HTTP_ENABLED: 'true'
KC_PROXY: 'edge'
KC_LOG_LEVEL: INFO
ports:
- 8080:8080
- 8443:8443
depends_on:
- mssql
- mssqlscripts
entrypoint: /opt/keycloak/bin/kc.sh start
caddy:
image: caddy:2.4.6-alpine
restart: unless-stopped
command: caddy reverse-proxy --from https://localhost:443 --to http://keycloak:8080
ports:
- 80:80
- 443:443
volumes:
- caddy_data:/data
depends_on:
- keycloak
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment