Skip to content

Commit

Permalink
update docker-compose setups
Browse files Browse the repository at this point in the history
  • Loading branch information
mozzy11 committed Nov 28, 2023
1 parent 0c203de commit 933ee2a
Show file tree
Hide file tree
Showing 5 changed files with 251 additions and 22 deletions.
17 changes: 10 additions & 7 deletions build.docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ services:
image: openelisglobal-webapp.build
depends_on:
- database
- certs
ports:
- "8080:8080"
- "8443:8443"
Expand All @@ -65,18 +66,18 @@ services:

fhir.openelis.org:
container_name: external-fhir-api
image: hapiproject/hapi:v5.5.1
image: hapiproject/hapi:v6.6.0-tomcat
depends_on:
- database
- certs
ports:
- "8081:8080"
- "8444:8443"
networks:
- default
restart: always
environment:
spring.datasource.url : jdbc:postgresql://database:5432/clinlims?currentSchema=clinlims
spring.datasource.username : clinlims
spring.datasource.password : clinlims
spring.datasource.driverClassName: org.postgresql.Driver
SPRING_CONFIG_LOCATION: file:///run/secrets/hapi_application.yaml
TZ: Africa/Nairobi
JAVA_OPTS: "-Djavax.net.ssl.trustStore=/etc/openelis-global/truststore
-Djavax.net.ssl.trustStorePassword=tspass
Expand All @@ -87,9 +88,9 @@ services:

volumes:
- key_trust-store-volume:/etc/openelis-global
- ./volume/tomcat/hapi_server.xml:/usr/local/tomcat/conf/server.xml
- ./volume/tomcat/hapi_server.xml:/opt/bitnami/tomcat/conf/server.xml
secrets:
- source: common.properties
- source: hapi_application.yaml

frontend.openelis.org:
image: frontend
Expand Down Expand Up @@ -129,6 +130,8 @@ secrets:
file: ./volume/properties/datasource.password
common.properties:
file: ./volume/properties/common.properties
hapi_application.yaml:
file: ./volume/properties/hapi_application.yaml

networks:
default:
Expand Down
17 changes: 11 additions & 6 deletions dev.docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ services:
image: itechuw/openelis-global-2:2.8
depends_on:
- database
- certs
ports:
- "8080:8080"
- "8443:8443"
Expand All @@ -64,18 +65,18 @@ services:

fhir.openelis.org:
container_name: external-fhir-api
image: hapiproject/hapi:v5.5.1
image: hapiproject/hapi:v6.6.0-tomcat
depends_on:
- database
- certs
ports:
- "8081:8080"
- "8444:8443"
networks:
- default
restart: always
environment:
spring.datasource.url : jdbc:postgresql://database:5432/clinlims?currentSchema=clinlims
spring.datasource.username : clinlims
spring.datasource.password : clinlims
spring.datasource.driverClassName: org.postgresql.Driver
SPRING_CONFIG_LOCATION: file:///run/secrets/hapi_application.yaml
TZ: Africa/Nairobi

JAVA_OPTS: "-Djavax.net.ssl.trustStore=/etc/openelis-global/truststore
Expand All @@ -87,7 +88,9 @@ services:

volumes:
- key_trust-store-volume:/etc/openelis-global
- ./volume/tomcat/hapi_server.xml:/usr/local/tomcat/conf/server.xml
- ./volume/tomcat/hapi_server.xml:/opt/bitnami/tomcat/conf/server.xml
secrets:
- source: hapi_application.yaml


frontend.openelis.org:
Expand Down Expand Up @@ -123,6 +126,8 @@ secrets:
file: ./volume/properties/datasource.password
common.properties:
file: ./volume/properties/common.properties
hapi_application.yaml:
file: ./volume/properties/hapi_application.yaml

networks:
default:
Expand Down
18 changes: 12 additions & 6 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ services:
image: itechuw/openelis-global-2:2.8
depends_on:
- database
- certs
ports:
- "8080:8080"
- "8443:8443"
Expand All @@ -65,18 +66,18 @@ services:

fhir.openelis.org:
container_name: external-fhir-api
image: hapiproject/hapi:v5.5.1
image: hapiproject/hapi:v6.6.0-tomcat
depends_on:
- database
- certs
ports:
- "8081:8080"
- "8444:8443"
networks:
- default
restart: always
environment:
spring.datasource.url : jdbc:postgresql://database:5432/clinlims?currentSchema=clinlims
spring.datasource.username : clinlims
spring.datasource.password : clinlims
spring.datasource.driverClassName: org.postgresql.Driver
SPRING_CONFIG_LOCATION: file:///run/secrets/hapi_application.yaml
TZ: Africa/Nairobi

JAVA_OPTS: "-Djavax.net.ssl.trustStore=/etc/openelis-global/truststore
Expand All @@ -88,7 +89,10 @@ services:

volumes:
- key_trust-store-volume:/etc/openelis-global
- ./volume/tomcat/hapi_server.xml:/usr/local/tomcat/conf/server.xml
- ./volume/tomcat/hapi_server.xml:/opt/bitnami/tomcat/conf/server.xml
secrets:
- source: hapi_application.yaml



frontend.openelis.org:
Expand Down Expand Up @@ -121,6 +125,8 @@ secrets:
file: ./volume/properties/datasource.password
common.properties:
file: ./volume/properties/common.properties
hapi_application.yaml:
file: ./volume/properties/hapi_application.yaml

networks:
default:
Expand Down
215 changes: 215 additions & 0 deletions volume/properties/hapi_application.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
#Adds the option to go to eg. http://localhost:8080/actuator/health for seeing the running configuration
#see https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints
management:
endpoints:
web:
exposure:
include: "health,prometheus"
spring:
main:
allow-circular-references: true
#allow-bean-definition-overriding: true
flyway:
enabled: false
check-location: false
baselineOnMigrate: true
datasource:
url: 'jdbc:postgresql://database:5432/clinlims?currentSchema=clinlims'
#url: jdbc:h2:mem:test_mem
username: clinlims
password: clinlims

driverClassName: org.postgresql.Driver
max-active: 15

# database connection pool size
hikari:
maximum-pool-size: 10
jpa:
properties:
hibernate.format_sql: false
hibernate.show_sql: false

#Hibernate dialect is automatically detected except Postgres and H2.
#If using H2, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
#If using postgres, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
hibernate.hbm2ddl.auto: update
# hibernate.jdbc.batch_size: 20
# hibernate.cache.use_query_cache: false
# hibernate.cache.use_second_level_cache: false
# hibernate.cache.use_structured_entries: false
# hibernate.cache.use_minimal_puts: false

### These settings will enable fulltext search with lucene or elastic
hibernate.search.enabled: true
### lucene parameters
# hibernate.search.backend.type: lucene
# hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiLuceneAnalysisConfigurer
# hibernate.search.backend.directory.type: local-filesystem
# hibernate.search.backend.directory.root: target/lucenefiles
# hibernate.search.backend.lucene_version: lucene_current
### elastic parameters ===> see also elasticsearch section below <===
# hibernate.search.backend.type: elasticsearch
# hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiElasticAnalysisConfigurer
hapi:
fhir:

### This enables the swagger-ui at /fhir/swagger-ui/index.html as well as the /fhir/api-docs (see https://hapifhir.io/hapi-fhir/docs/server_plain/openapi.html)
openapi_enabled: true
### This is the FHIR version. Choose between, DSTU2, DSTU3, R4 or R5
fhir_version: R4
### This flag when enabled to true, will avail evaluate measure operations from CR Module.
### Flag is false by default, can be passed as command line argument to override.
cr_enabled: "${CR_ENABLED: false}"
### enable to use the ApacheProxyAddressStrategy which uses X-Forwarded-* headers
### to determine the FHIR server address
# use_apache_address_strategy: false
### forces the use of the https:// protocol for the returned server address.
### alternatively, it may be set using the X-Forwarded-Proto header.
# use_apache_address_strategy_https: false
### enables the server to host content like HTML, css, etc. under the url pattern of /static/**
### the deepest folder level will be used. E.g. - if you put file:/foo/bar/bazz as value then the files are resolved under /static/bazz/**
#staticLocation: file:/foo/bar/bazz
### enable to set the Server URL
server_address: https://fhir.openelis.org:8443/fhir/
# defer_indexing_for_codesystems_of_size: 101
# install_transitive_ig_dependencies: true
### tells the server whether to attempt to load IG resources that are already present
# reload_existing_implementationGuides : false
# implementationguides:
### example from registry (packages.fhir.org)
# swiss:
# name: swiss.mednet.fhir
# version: 0.8.0
# example not from registry
# ips_1_0_0:
# url: https://build.fhir.org/ig/HL7/fhir-ips/package.tgz
# name: hl7.fhir.uv.ips
# version: 1.0.0
# supported_resource_types:
# - Patient
# - Observation
##################################################
# Allowed Bundle Types for persistence (defaults are: COLLECTION,DOCUMENT,MESSAGE)
##################################################
# allowed_bundle_types: COLLECTION,DOCUMENT,MESSAGE,TRANSACTION,TRANSACTIONRESPONSE,BATCH,BATCHRESPONSE,HISTORY,SEARCHSET
# allow_cascading_deletes: true
# allow_contains_searches: true
allow_external_references: true
# allow_multiple_delete: true
# allow_override_default_search_params: true
auto_create_placeholder_reference_targets: true
### tells the server to automatically append the current version of the target resource to references at these paths
# auto_version_reference_at_paths: Device.patient, Device.location, Device.parent, DeviceMetric.parent, DeviceMetric.source, Observation.device, Observation.subject
# cr_enabled: true
# ips_enabled: false
# default_encoding: JSON
default_pretty_print: false
default_page_size: 100
# delete_expunge_enabled: true
# enable_repository_validating_interceptor: true
# enable_index_missing_fields: false
# enable_index_of_type: true
# enable_index_contained_resource: false
### !!Extended Lucene/Elasticsearch Indexing is still a experimental feature, expect some features (e.g. _total=accurate) to not work as expected!!
### more information here: https://hapifhir.io/hapi-fhir/docs/server_jpa/elastic.html
advanced_lucene_indexing: false
bulk_export_enabled: false
bulk_import_enabled: false
# enforce_referential_integrity_on_delete: false
# This is an experimental feature, and does not fully support _total and other FHIR features.
# enforce_referential_integrity_on_delete: false
# enforce_referential_integrity_on_write: false
# etag_support_enabled: true
# expunge_enabled: true
# client_id_strategy: ALPHANUMERIC
fhirpath_interceptor_enabled: false
# filter_search_enabled: true
# graphql_enabled: true
narrative_enabled: false
# mdm_enabled: true
# local_base_urls:
# - https://hapi.fhir.org/baseR4
mdm_enabled: false
# partitioning:
# allow_references_across_partitions: false
# partitioning_include_in_search_hashes: false
cors:
allow_Credentials: true
# These are allowed_origin patterns, see: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/cors/CorsConfiguration.html#setAllowedOriginPatterns-java.util.List-
allowed_origin:
- '*'

# Search coordinator thread pool sizes
search-coord-core-pool-size: 20
search-coord-max-pool-size: 100
search-coord-queue-capacity: 200

# comma-separated package names, will be @ComponentScan'ed by Spring to allow for creating custom Spring beans
#custom-bean-packages:

# comma-separated list of fully qualified interceptor classes.
# classes listed here will be fetched from the Spring context when combined with 'custom-bean-packages',
# or will be instantiated via reflection using an no-arg contructor; then registered with the server
#custom-interceptor-classes:

# Threadpool size for BATCH'ed GETs in a bundle.
# bundle_batch_pool_size: 10
# bundle_batch_pool_max_size: 50

# logger:
# error_format: 'ERROR - ${requestVerb} ${requestUrl}'
# format: >-
# Path[${servletPath}] Source[${requestHeader.x-forwarded-for}]
# Operation[${operationType} ${operationName} ${idOrResourceName}]
# UA[${requestHeader.user-agent}] Params[${requestParameters}]
# ResponseEncoding[${responseEncodingNoDefault}]
# log_exceptions: true
# name: fhirtest.access
# max_binary_size: 104857600
max_page_size: 200
retain_cached_searches_mins: 60
reuse_cached_search_results_millis: 1
tester:
home:
name: OE adjacent FHIR Store
server_address: 'https://fhir.openelis.org:8443/fhir/'
refuse_to_fetch_third_party_urls: false
fhir_version: R4
# validation:
# requests_enabled: true
# responses_enabled: true
# binary_storage_enabled: true
inline_resource_storage_below_size: 4000
# bulk_export_enabled: true
subscription:
resthook_enabled: true
# websocket_enabled: false
# email:
# from: [email protected]
# host: google.com
# port:
# username:
# password:
# auth:
# startTlsEnable:
# startTlsRequired:
# quitWait:
# lastn_enabled: true
# store_resource_in_lucene_index_enabled: true
### This is configuration for normalized quantity search level default is 0
### 0: NORMALIZED_QUANTITY_SEARCH_NOT_SUPPORTED - default
### 1: NORMALIZED_QUANTITY_STORAGE_SUPPORTED
### 2: NORMALIZED_QUANTITY_SEARCH_SUPPORTED
# normalized_quantity_search_level: 2
#elasticsearch:
# debug:
# pretty_print_json_log: false
# refresh_after_write: false
# enabled: false
# password: SomePassword
# required_index_status: YELLOW
# rest_url: 'localhost:9200'
# protocol: 'http'
# schema_management_strategy: CREATE
6 changes: 3 additions & 3 deletions volume/tomcat/hapi_server.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@
-->


<Connector port="8443" minSpareThreads="5" maxThreads="75"
<Connector port="8443" minSpareThreads="5" maxThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS" SSLEnabled="true"
keystoreFile="/etc/openelis-global/keystore" keystoreType="PKCS12" keystorePass="kspass"
- truststoreFile="/etc/openelis-global/truststore" truststoreType="PKCS12" truststorePass="tspass"
truststoreFile="/etc/openelis-global/truststore" truststoreType="PKCS12" truststorePass="tspass"
URIEncoding="UTF-8" />

<!-- A "Connector" using the shared thread pool-->
Expand Down Expand Up @@ -164,4 +164,4 @@
</Host>
</Engine>
</Service>
</Server>
</Server>

0 comments on commit 933ee2a

Please sign in to comment.