Skip to content

Custom docker containers to be used with Logica Sandbox Community Edition.

Notifications You must be signed in to change notification settings

rise8-us/logica-sandbox-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logica-sandbox-infra

NON-PRODUCTION USE ONLY

Custom docker containers to be used with Logica Sandbox Community Edition.

Only supports DSTU2 & R4 FHIR servers.

Support

Usage

Connect Docker to ghcr.io

echo $GITHUB_TOKEN | docker login ghcr.io -u $GITHUB_USER --password-stdin

Add internal hosts to /etc/hosts file

127.0.0.1  keycloak
127.0.0.1  sandbox-mysql
127.0.0.1  sandbox-manager-api
127.0.0.1  sandbox
127.0.0.1  dstu2
127.0.0.1  stu3
127.0.0.1  r4
127.0.0.1  r5
127.0.0.1  static-content
# docker-compose.yml

version: "2.3"

volumes:
  logica-sandbox-volume:

services:

  keycloak:
    image: jboss/keycloak
    volumes:
      - "./realm_properties.json:/etc/security/realm_properties.json"
    ports:
      - "8080:8080"
    environment:
      - KEYCLOAK_USER=admin
      - KEYCLOAK_PASSWORD=admin
      - KEYCLOAK_IMPORT=/etc/security/realm_properties.json
      - DB_VENDOR=MYSQL
      - DB_ADDR=logica-mysql
      - DB_DATABASE=keycloak
      - DB_USER=keycloak
      - DB_PASSWORD=keycloak
    command: ["-Djboss.http.port=8080", "-Dkeycloak.profile.feature.upload_scripts=enabled"]
    depends_on:
      logica-mysql:
        condition: service_healthy
        
  logica-mysql:
    image: ghcr.io/rise8-us/logica-sandbox-infra/mysql:latest
    ports:
      - "3306:3306"
    volumes:
      - logica-sandbox-volume:/var/lib/mysql57
    environment:
      - MYSQL_PASSWORD=password
      - MYSQL_ROOT_PASSWORD=password
    healthcheck:
      test: ["CMD-SHELL", "/wait-for-db.sh"]
      interval: 2s
      timeout: 30s
      retries: 20

  sandbox:
    # This sandbox does not include auth.
    # It is recommended you use the following: logicahealth/sandbox:latest
    image: ghcr.io/rise8-us/logica-sandbox-infra/sandbox:latest
    ports:
      - "3000:3000"
      - "3001:3001"
      - "8060:8060"
    volumes:
      - ./infra/scripts/wait-for-api.sh:/wait-for-api.sh
    environment:
      - HOST_DOCKER_INTERNAL_IP=${HOST_DOCKER_INTERNAL_IP:-host.docker.internal}
      - AUTH_HOST=sandbox
      - AUTH_PORT=8060
      - DB_NAME=oic
      - DB_HOST=logica-mysql
      - DB_USER=root
      - DB_PASSWORD=password
      - SHOW_SQL=true
      - API_DSTU2_HOST=dstu2
      - API_DSTU2_PORT=8078
      - API_STU3_HOST=stu3
      - API_STU3_PORT=8079
      - API_R4_HOST=r4
      - API_R4_PORT=8070
      - PATIENT_PICKER_HOST=localhost
      - PATIENT_PICKER_PORT=8094
      - SANDMAN_API_HOST=sandbox-manager-api
      - SANDMAN_API_PORT=12000
      - SPRING_PROFILES_ACTIVE=users-keycloak,local
      - KEYCLOAK_REALM=Development
      - KEYCLOAK_AUTH_SERVER_URL=http://keycloak:8080/auth
      - KEYCLOAK_SSL_REQUIRED=none
      - KEYCLOAK_CREDENTIALS=593ada9c-b1dc-444f-a2e6-30cc4add8146
      - KEYCLOAK_LOGOUT_SUCCESS_URL=http://keycloak:8080/auth/realms/Development/protocol/openid-connect/logout?redirect_uri=http://localhost:3001
      - JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=5060,server=y,suspend=n"
    depends_on:
      logica-mysql:
        condition: service_healthy
        
  sandbox-manager-api:
    image: ghcr.io/rise8-us/logica-sandbox-infra/sandbox-manager-api:latest
    ports:
      - "12000:12000"
    environment:
      - DB_HOST=logica-mysql
      - DB_PORT=3306
      - DB_NAME=sandman
      - DB_USER=root
      - DB_PASSWORD=password
      - AUTH_HOST=sandbox
      - AUTH_PORT=8060
      - API_DSTU2_HOST=dstu2
      - API_STU3_HOST=stu3
      - API_R4_HOST=r4
      - API_R5_HOST=r5
    depends_on:
      logica-mysql:
        condition: service_healthy

  r4:
    image: ghcr.io/rise8-us/logica-sandbox-infra/api:latest
    ports:
      - "8070:8070"
    environment:
      - SPRING_PROFILES_ACTIVE=r4,multitenant
      - API_PORT=8070
      - SANDBOX_NAME=hspc10
      - SBMA_HOST=sandbox-manager-api
      - SBMA_PORT=12000
      - DB_HOST=logica-mysql
      - DB_PORT=3306
      - DB_USER=root
      - DB_PASSWORD=password
      - AUTH_HOST=sandbox
      - AUTH_PORT=8060
      - MANIFEST_OVERRIDE=false
    depends_on:
      logica-mysql:
        condition: service_healthy

About

Custom docker containers to be used with Logica Sandbox Community Edition.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages 4