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)