ips-nodo-dominio/docker-compose.yml

139 lines
3.7 KiB
YAML

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/trust-network-cert
- TNG_TLS_KEY=/run/secrets/trust-netowrk-key
- TNG_DSC_PRIVATEKEY=/run/secrets/signature-key
- TNG_COUNTRY=XJ
- TNG_DSC_PRIVATEKEY_KID=I1BAX8FATLs=
- GDHCN_BASEURL=${NODO_BASE_URL:-${NODO_URL_BASE:-http://localhost}/gdhcn
networks:
- hapi-network
volumes:
- ./json:/json
gdhcn-db:
image: postgres:16-alpine
restart: always
volumes:
- gdhcn-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}
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:
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
gdhcn-data:
name: gdhcn-data
driver: local
secrets:
ssl_cert:
file: ${SSL_CERT_PATH:-./certs/server.crt}
ssl_key:
file: ${SSL_KEY_PATH:-./certs/server.key}
trust-network-cert:
file: ${SIGNATURE_CERT_PATH:-./certs/trust-network.pem}
trust-network-key:
file: ${SIGNATURE_KEY_PATH:-./certs/trust-netowrk.key}
signature-key:
file: ${SSL_DCC_KEY_PATH:-./certs/signature.key}