Skip to content

Instantly share code, notes, and snippets.

@dixonwhitmire
Created September 27, 2021 17:18
Show Gist options
  • Save dixonwhitmire/24fffc8c01233673f6441a7db4ab0266 to your computer and use it in GitHub Desktop.
Save dixonwhitmire/24fffc8c01233673f6441a7db4ab0266 to your computer and use it in GitHub Desktop.
LFH FHIR Integration
version: "3.9"
networks:
main:
name: fabric_test
services:
connect:
build:
context: .
dockerfile: Dockerfile
args:
CONNECT_CERT_PATH_BUILD_ARG: ./local-config/connect
CONNECT_CONFIG_PATH_BUILD_ARG: ./local-config/connect
profiles: ["deployment"]
networks:
- main
image: linuxforhealth/connect-eligibility-demo:0.42.0
environment:
CONNECT_CA_PATH: /usr/local/share/ca-certificates
IPFS_CLUSTER_URI: http://ipfs-cluster-0:9099
CONNECT_EXTERNAL_FHIR_SERVERS: '["https://fhiruser:change-password@ibm-fhir:9443/fhir-server/api/v4"]'
X12_ISA_ELEMENT_SEPARATOR: 3
X12_ISA_REPETITION_SEPARATOR: 82
X12_ISA_SEGMENT_LENGTH: 106
X12_ISA_SEGMENT_TERMINATOR: 105
X12_CHARACTER_SET: EXTENDED
X12_READER_BUFFER_SIZE: 1024000
ports:
- "5000:5000"
nats-server:
networks:
- main
image: docker.io/linuxforhealth/jetstream:v0.0.19
volumes:
- ./local-config/nats:/conf
command: server --config=/conf/nats-server.conf
ports:
- "4222:4222"
zookeeper:
networks:
- main
image: docker.io/linuxforhealth/zookeeper-alpine:3.6.2
kafka:
networks:
- main
image: docker.io/linuxforhealth/kafka-alpine:2.5.0
restart: "always"
ports:
- "9094:9094"
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: INTERNAL://kafka:9092,EXTERNAL://kafka:9094
KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,EXTERNAL://localhost:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
ipfs-cluster-0:
container_name: ipfs-cluster-0
networks:
- main
image: linuxforhealth/ipfs-cluster:v0.14.0
depends_on:
- ipfs-node-0
environment:
CLUSTER_PEERNAME: ipfs-cluster-0
CLUSTER_SECRET: 724931756d306e6d56685055714966347373424e77484d733369575433364d42
CLUSTER_IPFSHTTP_NODEMULTIADDRESS: /dns4/ipfs-node-0/tcp/5001
CLUSTER_CRDT_TRUSTEDPEERS: '*' # Trust all peers in Cluster
CLUSTER_RESTAPI_HTTPLISTENMULTIADDRESS: /ip4/0.0.0.0/tcp/9099 # Expose API
CLUSTER_MONITORPINGINTERVAL: 2s # Speed up peer discovery
ports:
- "9099:9099"
volumes:
- ./local-config/ipfs/volumes/ipfs-cluster-0/config:/data/ipfs-cluster
ipfs-node-0:
container_name: ipfs-node-0
networks:
- main
image: linuxforhealth/go-ipfs:release-v0.9.1
ports:
- "4001:4001"
- "8080:8080"
- "5001:5001"
environment:
LIBP2P_FORCE_PNET: '1'
volumes:
- ./local-config/ipfs/volumes/staging_dir:/export
- ./local-config/ipfs/volumes/pv-data_dir:/data/pv
- ./local-config/ipfs/volumes/ipfs-node-0:/data/ipfs
- ./local-config/ipfs/private-ipfs-network/swarm.key:/data/ipfs/swarm.key
- ./local-config/ipfs/private-ipfs-network/init.sh:/usr/local/bin/start_ipfs
ibm-fhir:
profiles: ["fhir", "deployment"]
networks:
- main
image: docker.io/ibmcom/ibm-fhir-server:4.6.0
environment:
BOOTSTRAP_DB: "true"
ports:
- 9443:9443
msft-fhir-api:
profiles: ["fhir", "deployment"]
networks:
- main
image: linuxforhealth/msft-fhir:20210903-001-R4
restart: on-failure
environment:
SAPASSWORD: ${SAPASSWORD}
FHIRServer__Security__Enabled: "false"
SqlServer__ConnectionString: "Server=tcp:msft-sql,1433;Initial Catalog=FHIR;Persist Security Info=False;User ID=sa;Password=${SAPASSWORD};MultipleActiveResultSets=False;Connection Timeout=30;"
SqlServer__AllowDatabaseCreation: "true"
SqlServer__Initialize: "true"
SqlServer__SchemaOptions__AutomaticUpdatesEnabled: "true"
DataStore: "SqlServer"
ports:
- "9445:8080"
depends_on:
- msft-sql
msft-sql:
profiles: ["fhir", "deployment"]
networks:
- main
image: "mcr.microsoft.com/mssql/server"
environment:
SA_PASSWORD: ${SAPASSWORD}
ACCEPT_EULA: "Y"
healthcheck:
test: ["CMD", "/opt/mssql-tools/bin/sqlcmd","-U sa -P ${SAPASSWORD} -Q 'SELECT * FROM INFORMATION_SCHEMA.TABLES'"]
interval: 10s
timeout: 10s
retries: 6
fabric-client:
profiles: ["fabric"]
networks:
- main
image: linuxforhealth/fabric-client-demo:0.1.0
restart: "always"
environment:
INITIALIZE_WITH_DISCOVERY: 'false'
DISCOVERY_AS_LOCALHOST: 'false'
volumes:
- ./local-config/fabric/conf:/usr/src/app/conf
ports:
- "9043:9043"
ethereum-client:
profiles: ["ethereum"]
networks:
- main
image: linuxforhealth/ethereum-client:0.1.0
environment:
ETHEREUM_CA_PATH: /usr/local/share/ca-certificates
ETHEREUM_RATE_LIMIT: 5/second
ETHEREUM_CONTRACT_ADDRESS: "0x7Bad280884c907bBf3955c21351ce41122aB88eB"
ports:
- "5100:5100"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment