202 lines
7.3 KiB
YAML
202 lines
7.3 KiB
YAML
networks:
|
|
hps-proxy-network:
|
|
driver: bridge
|
|
external: false
|
|
|
|
volumes:
|
|
auth_api_data:
|
|
acc_api_data:
|
|
lab_api_data:
|
|
dash_api_data:
|
|
audit_api_data:
|
|
|
|
services:
|
|
keycloak_api:
|
|
image: quay.io/keycloak/keycloak:26.2.5
|
|
container_name: keycloak
|
|
ports:
|
|
- "127.0.0.1:8080:8080"
|
|
environment:
|
|
KEYCLOAK_ADMIN: admin
|
|
KEYCLOAK_ADMIN_PASSWORD: admin
|
|
KC_DB: mariadb
|
|
KC_DB_URL_HOST: dev-keycloak.healthprosuite.com #host.docker.internal
|
|
KC_DB_URL_PORT: 3306
|
|
KC_DB_URL_DATABASE: keycloak
|
|
KC_DB_USERNAME: keycloakdevuser
|
|
KC_DB_PASSWORD: keycloakdevuser
|
|
KC_HEALTH_ENABLED: true
|
|
KC_METRICS_ENABLED: true
|
|
KC_HTTP_ENABLED: true
|
|
KC_HOSTNAME: https://dev-keycloak.healthprosuite.com #host.docker.internal
|
|
KC_HOSTNAME_STRICT: false
|
|
KC_HOSTNAME_STRICT_HTTPS: true #Only for local dev
|
|
KC_PROXY: edge
|
|
|
|
command: start-dev
|
|
#command: start --optimized #production mode
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:management
|
|
container_name: rabbitmq
|
|
hostname: "${RABBITMQ_HOST}"
|
|
restart: always
|
|
ports:
|
|
- "127.0.0.1:5672:5672" # RabbitMQ communication port
|
|
- "127.0.0.1:15672:15672" # RabbitMQ Management UI
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: admin
|
|
RABBITMQ_DEFAULT_PASS: securepassword
|
|
RABBITMQ_NODENAME: rabbit@localhost
|
|
RABBITMQ_PORT: 5672
|
|
RABBITMQ_VHOST: /
|
|
networks:
|
|
- hps-proxy-network
|
|
volumes:
|
|
- ../rabbitmq_data:/var/lib/rabbitmq
|
|
|
|
auth_api:
|
|
#container_name: auth_backend
|
|
image: healthprosuite/services:auth-backend-1.0.0
|
|
ports:
|
|
- "127.0.0.1:5021:5021"
|
|
restart: always
|
|
env_file: .env
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: "${SPRING_PROFILES_ACTIVE}"
|
|
SPRING_DATASOURCE_URL: "${SPRING_DATASOURCE_URL_AUTH}"
|
|
SPRING_DATASOURCE_USERNAME: "${SPRING_DATASOURCE_USERNAME_AUTH}"
|
|
SPRING_DATASOURCE_PASSWORD: "${SPRING_DATASOURCE_PASSWORD_AUTH}"
|
|
SPRING_DATASOURCE_DRIVERCLASSNAME: "${SPRING_DATASOURCE_DRIVERCLASSNAME}"
|
|
AUTHSERVICE_JWT_SECRET: "${AUTHSERVICE_JWT_SECRET}"
|
|
SPRING_RABBITMQ_HOST: "${SPRING_RABBITMQ_HOST}"
|
|
SPRING_RABBITMQ_USERNAME: "${SPRING_RABBITMQ_USERNAME}"
|
|
SPRING_RABBITMQ_PASSWORD: "${SPRING_RABBITMQ_PASSWORD}"
|
|
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KEYCLOAK_CLIENT_ID: oic-dashboard-oauth2-client-credentials
|
|
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KEYCLOAK_CLIENT_SECRET: VrWiz6aQoyPWwzcdBoNj4CR26ZJqPS4m
|
|
AUTHSERVICE_KEYCLOAK_HOST: https://dev-keycloak.healthprosuite.com #http://host.docker.internal:8080
|
|
volumes:
|
|
- auth_api_data:/app
|
|
- ~/development/healthprosuite/hospitals:/hospitals/logo
|
|
networks:
|
|
- hps-proxy-network
|
|
depends_on:
|
|
- rabbitmq
|
|
- keycloak_api
|
|
|
|
acc_api:
|
|
container_name: acc_backend
|
|
image: healthprosuite/services:acc-backend-${APP_VERSION}
|
|
ports:
|
|
- "127.0.0.1:5022:5022"
|
|
restart: always
|
|
env_file: .env
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: "${SPRING_PROFILES_ACTIVE}"
|
|
SPRING_DATASOURCE_URL: "${SPRING_DATASOURCE_URL_ACC}"
|
|
SPRING_DATASOURCE_USERNAME: "${SPRING_DATASOURCE_USERNAME_ACC}"
|
|
SPRING_DATASOURCE_PASSWORD: "${SPRING_DATASOURCE_PASSWORD_ACC}"
|
|
SPRING_DATASOURCE_DRIVERCLASSNAME: "${SPRING_DATASOURCE_DRIVERCLASSNAME}"
|
|
SPRING_RABBITMQ_HOST: "${SPRING_RABBITMQ_HOST}"
|
|
SPRING_RABBITMQ_USERNAME: "${SPRING_RABBITMQ_USERNAME}"
|
|
SPRING_RABBITMQ_PASSWORD: "${SPRING_RABBITMQ_PASSWORD}"
|
|
ACCOUNTING_SERVICE_JWT_SECRET: "${AUTHSERVICE_JWT_SECRET}"
|
|
volumes:
|
|
- acc_api_data:/app
|
|
- ~/hospitals:/hospitals
|
|
networks:
|
|
- hps-proxy-network
|
|
depends_on:
|
|
- rabbitmq
|
|
- auth_api
|
|
|
|
lab_api:
|
|
container_name: lab_backend
|
|
image: healthprosuite/services:lab-backend-${APP_VERSION}
|
|
ports:
|
|
- "127.0.0.1:5023:5023"
|
|
restart: always
|
|
env_file: .env
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: "${SPRING_PROFILES_ACTIVE}"
|
|
SPRING_DATASOURCE_URL: "${SPRING_DATASOURCE_URL_LAB}"
|
|
SPRING_DATASOURCE_USERNAME: "${SPRING_DATASOURCE_USERNAME_LAB}"
|
|
SPRING_DATASOURCE_PASSWORD: "${SPRING_DATASOURCE_PASSWORD_LAB}"
|
|
SPRING_DATASOURCE_DRIVERCLASSNAME: "${SPRING_DATASOURCE_DRIVERCLASSNAME}"
|
|
SPRING_RABBITMQ_HOST: "${SPRING_RABBITMQ_HOST}"
|
|
SPRING_RABBITMQ_USERNAME: "${SPRING_RABBITMQ_USERNAME}"
|
|
SPRING_RABBITMQ_PASSWORD: "${SPRING_RABBITMQ_PASSWORD}"
|
|
LAB_SERVICE_JWT_SECRET: "${AUTHSERVICE_JWT_SECRET}"
|
|
volumes:
|
|
- lab_api_data:/app
|
|
- ~/development/healthprosuite/laboratory:/laboratory
|
|
networks:
|
|
- hps-proxy-network
|
|
depends_on:
|
|
- rabbitmq
|
|
- auth_api
|
|
- acc_api
|
|
|
|
audit_api:
|
|
container_name: audit_backend
|
|
image: healthprosuite/services:audit-backend-${APP_VERSION}
|
|
ports:
|
|
- "127.0.0.1:5025:5025"
|
|
restart: always
|
|
env_file: .env
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: "${SPRING_PROFILES_ACTIVE}"
|
|
SPRING_DATASOURCE_URL: "${SPRING_DATASOURCE_URL_AUDIT}"
|
|
SPRING_DATASOURCE_USERNAME: "${SPRING_DATASOURCE_USERNAME_AUDIT}"
|
|
SPRING_DATASOURCE_PASSWORD: "${SPRING_DATASOURCE_PASSWORD_AUDIT}"
|
|
SPRING_RABBITMQ_HOST: "${SPRING_RABBITMQ_HOST}"
|
|
AUDIT_SERVICE_JWT_SECRET: "${AUTHSERVICE_JWT_SECRET}"
|
|
volumes:
|
|
- audit_api_data:/app
|
|
networks:
|
|
- hps-proxy-network
|
|
depends_on:
|
|
- rabbitmq
|
|
- auth_api
|
|
- lab_api
|
|
- acc_api
|
|
|
|
dash_api:
|
|
container_name: dash_backend
|
|
image: healthprosuite/services:dash-backend-${APP_VERSION}
|
|
#profiles:
|
|
#- skipme
|
|
ports:
|
|
- "127.0.0.1:2020:2020"
|
|
restart: always
|
|
env_file: .env
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: "${SPRING_PROFILES_ACTIVE}"
|
|
SPRING_DATASOURCE_URL: "${SPRING_DATASOURCE_URL_DASH}"
|
|
SPRING_DATASOURCE_USERNAME: "${SPRING_DATASOURCE_USERNAME_DASH}"
|
|
SPRING_DATASOURCE_PASSWORD: "${SPRING_DATASOURCE_PASSWORD_DASH}"
|
|
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KEYCLOAK_CLIENT_ID: oic-dashboard-oauth2-client-credentials
|
|
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_KEYCLOAK_CLIENT_SECRET: VrWiz6aQoyPWwzcdBoNj4CR26ZJqPS4m
|
|
SPRING_SECURITY_OAUTH2_RESOURCE_SERVER_JWT_JWT_SET_URI: https://dev-keycloak.healthprosuite.com
|
|
SPRING_KEYCLOAK_HOST: https://dev-keycloak.healthprosuite.com #http://127.0.0.1:8080 #http://host.docker.internal:8080
|
|
APPLICATION_WEB_CLIENT_HOST: https://dev-auth-service.healthprosuite.com/auth/v1 #http://host.docker.internal:5021/auth/v1
|
|
APPLICATION_KEYCLOAK_SERVER_URL: https://dev-keycloak.healthprosuite.com #http://127.0.0.1:8080 #http://host.docker.internal:8080
|
|
APPLICATION_KEYCLOAK_REALM: Dashboard-HPS-Realm
|
|
volumes:
|
|
- dash_api_data:/app
|
|
networks:
|
|
- hps-proxy-network
|
|
depends_on:
|
|
- auth_api
|
|
- acc_api
|
|
- keycloak_api
|
|
|
|
icd-api:
|
|
container_name: icd-api
|
|
image: whoicd/icd-api
|
|
ports:
|
|
- "0.0.0.0:8000:80"
|
|
environment:
|
|
- acceptLicense=true # Required parameter to agree with license
|
|
- saveAnalytics=${SAVE_ANALYTICS:-true} # Optional: set to true to send analytics to WHO
|
|
- include=${INCLUDE:-2024-01_en} # Optional: set the language or release version (e.g., 2024-01_en, 2024-01_es for Spanish) |