ohif-viewer/docker/OpenResty-Orthanc-Keycloak/docker-compose.yml
2019-05-07 12:34:58 -04:00

108 lines
3.0 KiB
YAML

# https://eclipsesource.com/blogs/2018/01/11/authenticating-reverse-proxy-with-keycloak/
version: '3.5'
services:
# Exposed server that's handling incoming web requests
# Underlying image: openresty/openresty:alpine-fat
ohif_viewer:
build:
# Project root
context: ./../../
# Relative to context
dockerfile: ./docker/OpenResty-Orthanc-Keycloak/dockerfile
image: webapp:latest
container_name: webapp
restart: on-failure
volumes:
# Nginx config
- ./config/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro
# Logs
- ./logs/nginx/access.log:/var/logs/nginx/mydomain.access.log
- ./logs/nginx/error.log:/var/logs/nginx/mydomain.error.log
# Let's Encrypt
# - letsencrypt_certificates:/etc/letsencrypt
# - letsencrypt_challenges:/var/www/letsencrypt
ports:
# HOST_PORT:CONTAINER_PORT
# EXTERNAL:INTERNAL
- '443:443' # SSL
- '80:80' # Web
depends_on:
- orthanc
- keycloak
# Our image archive (PACS)
# A client protected by keycloak
# authenticated reverse proxy via `authproxy`
orthanc:
container_name: orthanc
image: jodogne/orthanc-plugins
volumes:
- ./config/orthanc.json:/etc/orthanc/orthanc.json:ro
restart: always
# Database for our Keycloak instance
keycloak_postgres:
hostname: keycloak-db
restart: on-failure
image: postgres:11.2
volumes:
- keycloak_postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
POSTGRES_ROOT_PASSWORD: password
dns:
- 8.8.8.8
# LINK: https://hub.docker.com/r/jboss/keycloak
keycloak:
image: jboss/keycloak:6.0.1
hostname: keycloak
container_name: keycloak
volumes:
# Theme: https://www.keycloak.org/docs/latest/server_development/index.html#creating-a-theme
# - ./volumes/keycloak-themes:/opt/jboss/keycloak/themes
# Previous Realm Config
- ./config/ohif-keycloak-realm.json:/tmp/ohif-keycloak-realm.json
environment:
# Database
DB_VENDOR: postgres
DB_ADDR: postgres
DB_PORT: 5432
DB_DATABASE: keycloak
DB_SCHEMA: public
DB_USER: keycloak
DB_PASSWORD: password
# Keycloak
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: password
KEYCLOAK_IMPORT: /tmp/ohif-keycloak-realm.json
# KEYCLOAK_WELCOME_THEME: <theme-name>
# KEYCLOAK_DEFAULT_THEME: <theme-name>
# KEYCLOAK_HOSTNAME: (recommended in prod)
# KEYCLOAK_LOGLEVEL: DEBUG
PROXY_ADDRESS_FORWARDING: 'true'
depends_on:
- postgres
restart: unless-stopped
# LINK: https://hub.docker.com/_/postgres/
postgres:
image: postgres:11.2
hostname: postgres
container_name: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
restart: unless-stopped
volumes:
postgres_data:
driver: local