services: hapi-fhir: container_name: hapi-fhir image: "hapiproject/hapi:latest" depends_on: hapi-db: condition: service_healthy 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} healthcheck: test: ["CMD-SHELL", "curl -sf http://localhost:8080/fhir/metadata > /dev/null"] interval: 30s timeout: 10s retries: 5 start_period: 60s networks: - hapi-network hapi-db: container_name: 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 bus-gateway: container_name: bus-gateway build: context: ./bus-gateway environment: TZ: ${TZ:-America/Argentina/Buenos_Aires} NODO_URL_BASE: ${NODO_URL_BASE:-http://localhost} 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: container_name: nginx image: nginx:alpine depends_on: hapi-fhir: condition: service_healthy bus-gateway: condition: service_started 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}