Sign inSign up

mosaicgreifswald/gics

By mosaicgreifswald

Updated 8 days ago

Image
1

10K+

mosaicgreifswald/gics repository overview

context

Current Version: 2026.1.1 (Sep 2026)
Current Docker-Version of TTP-FHIR-Gateway: 2026.1.1, Details from ReleaseNotes

About

The Consent Management solution gICS (generic Informed Consent Administration Service) supports the management of digital informed consent documents. It facilitates checking for various policies and modules of a consent in real time.

General

This gICS image is completely identical to the image mosaicgreifswald/wildfly-gc:40,
except that it already contains the deployments and JBoss-CLIs from our gICS.

API

SOAP

All functionalities of the gICS are provided for external use via SOAP-interfaces. The JavaDoc specs for the Consent Services are available online (see package org.emau.icmvc.ganimed.ttp.cm2).

Use SOAP-UI to create sample requests based on the WSDL files.

Standard-Service-Interface

The WSDL URL is http://<YOUR IPADDRESS>:8080/gics/gicsService?wsdl

Standard-Service-Interface with Notifications

The WSDL URL is http://<YOUR IPADDRESS>:8080/gics/gicsServiceWithNotification?wsdl

Management-Service-Interface

The WSDL URL is http://<YOUR IPADDRESS>:8080/gics/gicsManagementService?wsdl

FHIR

More details from https://www.ths-greifswald.de/gics/fhir

IT-Security Recommendations

Access to relevant application and database servers of the Trusted Third Party tools should only be possible for authorised personnel and via authorised end devices. We therefore recommend additionally implementing the following IT security measures:

  • Operation of the relevant servers in separate network zones (separate from the research and supply network).
  • Use of firewalls and IP filters
  • Access restriction at URL level with Basic Authentication (e.g. with NGINX or Apache)
  • use of Keycloak to restrict access to Web-Frontends and technical interfaces

Relevant for this Image

ENV-Variables and defaults

CategoryVariableAvailable values or schemeDefaultPurpose
WF-AdminWF_NO_ADMINtrue | falsefalseset true if you don't need wildfly-admin
WF-AdminWF_ADMIN_USER<STRING>admindefine username for wildfly-admin
WF-AdminWF_ADMIN_PASS<STRING>-random-to set password for wildfly-admin
QualityWF_HEALTHCHECK_URLS<NEWLINE-SEPARATED-URLs>-contain a list of urls to check the health of this container
OptimizingWF_MAX_POST_SIZE<BYTES>10485760the maximum size of a post that will be accepted, in bytes
OptimizingWF_MAX_PARAMETERS<NUMBER>100000the maximum number of parameters that will be parsed
OptimizingWF_MAX_CHILD_ELEMENTS<NUMBER>50000the maximum number of children that will be allow in xml-post
OptimizingWF_BLOCKING_TIMEOUT<SECONDS>300this can be used to change the time until processes are cancelled
OptimizingWF_TRANSACTION_TIMEOUT<SECONDS>300this can be used to change the time after which a transaction is automatically terminated
OptimizingWF_DATASOURCES_QUERY_TIMEOUT <-- new<SECONDS>30timeout for datasource queries
OptimizingWF_DEPLOYMENT_TIMEOUT <-- new<SECONDS>600timeout for the deployment scanner to allow a deployment attempt before being canceled
OptimizingWF_ENABLE_HTTP2true | falsefalseHTTP2 support
OptimizingWF_ENABLE_PROXY_ADDRESS_FORWARDING <-- newtrue | falsefalseuse this option when the wildfly is running behind a reverse proxy or load balancer (e.g., NGINX, Apache, etc.)
SecurityWF_SERVER_KEYSTORE_PASSWORD<STRING>-this password is only used in combination with /entrypoint-wildfly-server-keystore to access the keystore
SecurityWF_SERVER_KEYSTORE_ALIAS<STRING>-if there is more than one certificate in the keystore, this alias must be specified
LoggingWF_SYSTEM_LOG_TO <-- improvedCONSOLE;FILE;SYSLOGCONSOLEmultiple values semicolon-separated possible
LoggingWF_SYSTEM_LOG_LEVEL <-- improvedSEVERE|FATAL|ERROR|WARN|INFO|DEBUG|TRACE|FINEINFOthis can be used to set the log level of the console
LoggingWF_SYSTEM_LOG_PATTERN<STRING>%d %-5.5p %-4.4L %-40.40c{2.} | %m%n
LoggingWF_SYSTEM_LOG_COLORS <-- new<LEVEL>:<COLOR>[,<LEVEL>:<COLOR>[,...]]-this map allows a comma delimited list of colors to be used for different levels with a pattern formatter
LoggingWF_SYSTEM_SYSLOG_HOST <-- new<HOST>syslog
LoggingWF_SYSTEM_SYSLOG_PORT <-- new<PORT>514
LoggingWF_SYSTEM_SYSLOG_FORMAT <-- newRFC3164|RFC5424RFC3164
SecurityWF_SERVER_KEYSTORE_PASSWORD<STRING>-this password is only used in combination with /entrypoint-wildfly-server-keystore to access the keystore
SecurityWF_SERVER_KEYSTORE_ALIAS<STRING>-if there is more than one certificate in the keystore, this alias must be specified
ProcessingMOS_WAIT_FOR_PORTS<HOST>:<PORT>[:<TIMEOUT>[:<SLEEP>]],...-comma delimited list of endpoints that should wait before starting wildfly. defaults: timeout=300,sleep=0
ProcessingWF_WAIT_FOR_PORTS<HOST>:<PORT>[:<TIMEOUT>[:<SLEEP>]],...-just like MOS_WAIT_FOR_PORTS, but waits after JBoss-CLI
DebuggingWF_DEBUGtrue | falsefalseset true to enable debug-mode in wildfly
DebuggingDEBUG_PORT<IP>:<PORT>*:8787for debugging you can change the ip:port
OptimizingTZ<STRING>Europe/Berlin
OptimizingJAVA_OPTS<STRING>-you need more memory? then give yourself more memory or define any system-variables
LoggingTTP_GICS_LOG_TOCONSOLE;FILECONSOLE
LoggingTTP_GICS_LOG_LEVELTRACE | DEBUG | INFO | WARN | ERROR | FATALINFO
LoggingTTP_GICS_LOG_PATTERN<STRING>%d %-5p [%c] (%t) %s%E%n
DatabaseTTP_GICS_DB_DBMS <-- newmysql | mariadbmysql
DatabaseTTP_GICS_DB_HOST<STRING>mysql
DatabaseTTP_GICS_DB_PORT0-655353306
DatabaseTTP_GICS_DB_NAME<STRING>gics
DatabaseTTP_GICS_DB_USER<STRING>gics_user
DatabaseTTP_GICS_DB_PASS<STRING>gics_password
DatabaseTTP_GICS_DB_URI <-- new<DBMS://HOST:PORT/DB_NAME?PARAMS>(builded from above values)if TTP_EPIX_DB_URI is set, the other variables (TTP_GICS_DB_*) are mostly ignored
SecurityTTP_GICS_WEB_AUTH_MODEgras | keycloak-
SecurityTTP_GICS_SOAP_KEYCLOAK_ENABLEtrue | false-
SecurityTTP_GICS_SOAP_ROLE_USER_NAME<STRING>role.gics.user
SecurityTTP_GICS_SOAP_ROLE_USER_SERVICES<STRING>/gics/gicsService,/gics/gicsServiceWithNotification
SecurityTTP_GICS_SOAP_ROLE_ADMIN_NAME<STRING>role.gics.admin
SecurityTTP_GICS_SOAP_ROLE_ADMIN_SERVICES<STRING>/gics/DomainService
OptimizingTTP_GICS_WEB_CONTEXT<STRING>gics-web
OptimizingTTP_GICS_REST_CONTEXT <-- new<STRING>gics-rest
OptimizingTTP_GICS_SOAP_CONTEXT<STRING>gics
OptimizingTTP_DISABLE_FHIR_GATEWAYtrue | falsefalseset true if you don't need fhir-gateway
OptimizingTTP_DISABLE_NOTI_CLIENTtrue | falsefalseset true if you don't need notification-client
OptimizingTTP_DISABLE_NOTI_SERVICEtrue | falsefalseset true if you don't need notification-service
SecurityTTP_GICS_AUTH_DOMAIN_ROLES <-- newDISABLED|FORCED|IMPLIED(from TTP_AUTH_DOMAIN_ROLES=IMPLIED)

Relevant Entrypoints

Pathref. ENV-VariableTypePurpose
/entrypoint-logsENTRY_LOGSfolderall further layers can store their own log files here in subdirectories.
/entrypoint-help-and-usageENTRY_USAGEfolderHere you will find README-files for each docker-image-layer, including examples.
/entrypoint-java-cacertsENTRY_JAVA_CACERTSfilethe entrypoint can be used to store its own cacerts, e.g. containing public-keys of server certificates for specific web requests or CA.
/entrypoint-java-trustsENTRY_JAVA_TRUSTSfolderat startup, all certificate files from here are imported into the Java truststore (cacerts) and existing aliases are replaced if necessary.
/entrypoint-wildfly-cliENTRY_WILDFLY_CLIfolderto execute JBoss-cli-files before start WildFly (read-only access)
/entrypoint-wildfly-deploymentsENTRY_WILDFLY_DEPLOYSfolderto import your deployments, also ear- and/or war-files (read-only access, optional write access)
/entrypoint-wildfly-addinsENTRY_WILDFLY_ADDINSfolderto import additional files for deployments (read-only access)
/entrypoint-wildfly-logsENTRY_WILDFLY_LOGSfolderto export all available log-files (read/write access)
/entrypoint-wildfly-server-keystoreENTRY_WILDFLY_SERVER_KEYSTOREfileto use your own keystore for server certificate (read-only access) <-- experimental

Usage

"versions" shows all installed tools and components, with their versions.

docker run --rm mosaicgreifswald/gics versions
  last updated               : 2026-07-20 16:56:45
  Architecture               : x86_64
  Distribution               : Debian GNU/Linux 13.6 (trixie)
  zulu-jre                   : 25.0.3 
  WildFly                    : 40.0.1.Final
  MySQL-Connector            : 9.7.0
  MariaDB-Connector          : 3.5.9
  PostgreSQL-Connector       : 42.7.13
  EclipseLink                : 4.0.9
  Chrome-Headless-Shell      : 151.0.7922.34
  Chrome-Driver              : 151.0.7922.34
  gICS                       : 2026.1.0
  FHIR-Gateway               : 2026.1.0
  Notification-Client        : 2026.1.0
  Notification-Service       : 2026.1.0

Change write permissions

If data is stored on the host-system (via volume), it is created by default with the internal mosaic-user (UID:GID = 1111:1111). You can change the write-user by using the Docker parameter --user/-u.

# change write-user (UID:GID) for writable volumes like logs/
> docker run --rm -d \
    -u 1006:1001 \
    -e WF_SYSTEM_LOG_TO=FILE \
    -v /path/to/your/logs:/entrypoint-wildfly-logs \
    mosaicgreifswald/gics

> ls -l /path/to/your/logs
insgesamt 8
-rw-r--r--  1 1006 1001    0 13. Jun 10:25 gics.log

Database

You need a prepared MySQL database to start the gICS successfully.

# with external db
> docker run --rm -it \
    -e TTP_DB_HOST=host_or_ip \
    -e TTP_DB_PORT=3306 \
    -e TTP_DB_USER=gics \
    -e TTP_DB_PASS=top-secret \
    -p 8080:8080 \
    mosaicgreifswald/gics

If you don't have an gICS database, you can create one yourself. Everything you need to create your own database is already included in this image:

# explore all additional files
> docker run --rm -it mosaicgreifswald/gics examples

# explore and copy interesting files to your local host
> docker run --rm -it -v "/your/local/path/:/tmp/" -u "$(id -u):$(id -g)" mosaicgreifswald/gics examples --target-dir /tmp

# or copy directly all files to your host
> docker run --rm -v "/your/local/path/:/tmp/" -u "$(id -u):$(id -g)" mosaicgreifswald/gics examples --target-dir /tmp --copy-all

You will receive the following directory-tree and can start playing immediately:

|____layer-readme/
|  |____README-gics.md
|____examples/
  |____compose-gics/
    |____addins/
    |____demo/
    | |____demo_gics.sql
    |____docs/
    | |____Docker-Update.md
    | |____gRAS-Einrichtung.md
    | |____TTP-Tools-Keycloak-Einrichtung.md
    | |____TTP-Tools-Keycloak-Realm.json
    |____envs/
    | |____mysql.env
    | |____ttp_commons.env
    | |____ttp_fhir.env
    | |____ttp_gics.env
    | |____ttp_gras.env
    | |____ttp_noti.env
    |____logs/
    |____sqls/
    | |____create_database_gics.sql
    | |____create_database_gras.sql
    | |____create_database_noti.sql
    | |____init_database_gras_for_gics.sql
    |____update_sqls/
    | |____update_database_gics.sql
    |____docker-compose.yml

You can then start up an empty system directly:

# go to compose-dir and start compose
> cd examples/compose-gics
> docker compose up

Usage with docker compose

over docker-compose with dependent on mysql-db (example)

# docker-compose.yml
services:
  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: top-secret
    volumes:
      - /path/to/your/init-sql-files:/docker-entrypoint-initdb.d
  wildfly:
    image: mosaicgreifswald/gics
    ports:
      - 8080:8080
      - 9990:9990
    depends_on:
      - mysql
    environment:
      WF_ADMIN_PASS: top-secret
      WF_HEALTHCHECK_URLS: http://localhost:8080

Update existing instance

  1. Get all update-sqls from additional files:
# copy all update-scripts to your host
> docker run --rm -v "/your/local/path/:/tmp/" -u "$(id -u):$(id -g)" mosaicgreifswald/gics examples \
    --source-dir /entrypoint-help-and-usage/examples/compose-gics/update_sqls/ \
    --target-dir /tmp \
    --copy-all
  1. Create a backup before you start the update.
  2. Run all SQL scripts on your database that are relevant for your current version. Make sure you follow the correct order.
  3. Now you can use the new image.

Current Software-Versions on this Image

DateTagsChanges
2026-09-08









2026.1.1, 2026, latest









Debian 13.6 "trixie"
openJRE 25.0.4.1
WildFly 40.0.1.Final
MySQL-Connector 9.7.0
MariaDB-Connector 3.5.9
PostgreSQL-Connector 42.7.13
EclipseLink 4.0.9
Chrome-Browser 152.0.7977.82
gICS 2026.1.1
FHIR-Gateway 2026.1.1
Notification-Service 2026.1.1
2026-07-20









2026.1.0









Debian 13.6 "trixie"
openJRE 25.0.3
WildFly 40.0.1.Final
MySQL-Connector 9.7.0
MariaDB-Connector 3.5.9
PostgreSQL-Connector 42.7.13
EclipseLink 4.0.9
Chrome-Browser 151.0.7922.34
gICS 2026.1.0
FHIR-Gateway 2026.1.0
Notification-Service 2026.1.0
2025-12-16









2025.2.0, 2025









Debian 13.2 "trixie"
openJRE 21.0.9
WildFly 38.0.0.Final
MySQL-Connector 9.5.0
MariaDB-Connector 3.5.6
PostgreSQL-Connector 42.7.8
EclipseLink 4.0.8
Chrome-Browser 135.0.7049.114
gICS 2025.2.0
FHIR-Gateway 2025.2.0
Notification-Service 2025.2.0
2025-10-29







2025.1.2







Debian 13.1 "trixie"
openJRE 21.0.9
WildFly 38.0.0.Final
MySQL-Connector 9.5.0
EclipseLink 4.0.8
Chrome-Browser 135.0.7049.114
gICS 2025.1.2
FHIR-Gateway 2025.1.1
Notification-Service 2025.1.1
2025-07-09







2025.1.0







Debian 12.11 "bookworm"
openJRE 21.0.7
WildFly 36.0.1.Final
MySQL-Connector 9.3.0
EclipseLink 4.0.7
Chrome-Browser 135.0.7049.114
gICS 2025.1.0
FHIR-Gateway 2025.1.0
Notification-Service 2025.1.0
2025-01-24







2024.3.1, 2024







Debian 12.9 "bookworm"
openJRE 21.0.6
WildFly 35.0.0.Final
MySQL-Connector 9.2.0
EclipseLink 4.0.5
gICS 2024.3.1
FHIR-Gateway 2024.3.0
Notification-Service 2024.2.0
2025-01-15






2024.3.0






Debian 12.9 "bookworm"
openJRE 21.0.5
WildFly 34.0.1.Final
MySQL-Connector 9.1.0
EclipseLink 4.0.5
gICS 2024.3.0
FHIR-Gateway 2024.3.0
(Notification-Service 2024.2.0)
2024-10-10






2024.2.1






Debian 12.7 "bookworm"
openJRE 21.0.4
WildFly 32.0.1.Final
EclipseLink 4.0.4
gICS 2024.2.1
FHIR-Gateway 2024.2.2
Notification-Service 2024.1.1

Additional Information

The gICS was developed by the University Medicine Greifswald and published in 2014 as part of the MOSAIC-Project (funded by the DFG HO 1937/2-1). Selected functionalities of gICS were developed as part of the following research projects:

  • MAGIC (funded by the DFG HO 1937/5-1)
  • MIRACUM (funded by the German Federal Ministry of Education and Research 01ZZ1801M)
  • NUM-CODEX (funded by the German Federal Ministry of Education and Research 01KX2021)

Credits

Concept and implementation: L. Geidel
Web-Client: A. Blumentritt, M. Bialke, F.M.Moser
Docker: R. Schuldt
TTP-FHIR Gateway für gICS: M. Bialke, P. Penndorf, L. Geidel, S. Lang, F.M. Moser

License

License: AGPLv3, https://www.gnu.org/licenses/agpl-3.0.en.html
Copyright: 2014 - 2026 University Medicine Greifswald
Contact: https://www.ths-greifswald.de/kontakt/

Publications

Supported languages

German, English

Tag summary

Content type

Image

Digest

sha256:b734a0a03

Size

1.2 GB

Last updated

8 days ago

docker pull mosaicgreifswald/gics