services: hapi-fhir: image: "hapiproject/hapi:latest" depends_on: - hapi-db volumes: - ./hapi-config:/data/hapi environment: TZ: ${TZ:-America/Argentina/Buenos_Aires} SPRING_CONFIG_LOCATION: ${SPRING_CONFIG_LOCATION} SPRING_DATASOURCE_URL: ${SPRING_DATASOURCE_URL} SPRING_DATASOURCE_USERNAME: ${SPRING_DATASOURCE_USERNAME} SPRING_DATASOURCE_PASSWORD: ${SPRING_DATASOURCE_PASSWORD} SPRING_DATASOURCE_DRIVERCLASSNAME: ${SPRING_DATASOURCE_DRIVERCLASSNAME} SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: ${SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT} networks: - hapi-network hapi-db: image: "postgres:14.6" restart: always user: root environment: TZ: ${TZ:-America/Argentina/Buenos_Aires} POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - hapi-data:/var/lib/postgresql/data networks: - hapi-network healthcheck: test: ["CMD-SHELL", "pg_isready -p 5433"] interval: 20s timeout: 10s retries: 5 command: -p 5433 gdhcn-validator-service: container_name: gdhcn-validator-service image: createchile/gdhcn-validator_backend:v1.1 ports: - 8182:8080 secrets: - signature-cert - signature-key - dsc-key environment: - POSTGRES_DB=gdhcn-validator - SERVER_PORT=8080 - SPRING_DATASOURCE_URL=jdbc:postgresql://gdhcn-db:5432/gdhcn-validator - SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=root - TNG_TLS_PEM=/run/secrets/signature-cert - TNG_TLS_KEY=/run/secrets/signature-key - TNG_DSC_PRIVATEKEY=/run/secrets/dsc-key - TNG_COUNTRY=XJ - TNG_DSC_PRIVATEKEY_KID=I1BAX8FATLs= - GDHCN_BASEURL=${NODO_BASE_URL}/gdhcn networks: - hapi-network volumes: - ./json:/json gdhcn-db: image: postgres:16-alpine restart: always volumes: - db-data:/var/lib/postgresql/data networks: - hapi-network environment: - POSTGRES_DB=gdhcn-validator - POSTGRES_USER=root - POSTGRES_PASSWORD=root bus-gateway: build: context: ./bus-gateway environment: TZ: ${TZ:-America/Argentina/Buenos_Aires} BUS_URL: ${BUS_URL} BUS_JWT_SECRET: ${BUS_JWT_SECRET} BUS_ISSUER: ${BUS_ISSUER} MPI_URL: ${MPI_URL} DOCUMENT_REGISTRY_URL: ${DOCUMENT_REGISTRY_URL} MPI_SCOPE: ${MPI_SCOPE} DOCUMENT_REGISTRY_SCOPE: ${DOCUMENT_REGISTRY_SCOPE} FHIR_URL: http://hapi-fhir:8080/fhir BUS_DEBUG: ${BUS_DEBUG} ports: - 9229:9229 networks: - hapi-network command: node --inspect=0.0.0.0:9229 ./bin/www nginx: image: nginx:alpine depends_on: - hapi-fhir - bus-gateway environment: TZ: ${TZ:-America/Argentina/Buenos_Aires} ports: - "80:80" - "443:443" volumes: # Selecciona la config con NGINX_CONF=http (default) o NGINX_CONF=https en el .env - ./nginx/${NGINX_CONF:-http}.conf:/etc/nginx/nginx.conf:ro secrets: - ssl_cert - ssl_key networks: - hapi-network networks: hapi-network: name: hapi-network volumes: hapi-data: name: hapi-data driver: local secrets: ssl_cert: file: ${SSL_CERT_PATH:-./certs/server.crt} ssl_key: file: ${SSL_KEY_PATH:-./certs/server.key} signature-cert: file: ${SIGNATURE_CERT_PATH:-./certs/signature.crt} signature-key: file: ${SIGNATURE_KEY_PATH:-./certs/signature.key} dsc-key: file: ${SSL_DCC_KEY_PATH:-./certs/dcc.key}