-
Notifications
You must be signed in to change notification settings - Fork 241
Running on Docker
Repository | Tag(s) | Description |
---|---|---|
dcm4che/slapd-dcm4chee | 2.4.40-10.2 |
slapd with schemas and default configuration for dcm4chee-arc 5.x |
dcm4che/postgres-dcm4chee |
9.4-10 , 9.6-10
|
PostgreSQL 9.4/9.6 for dcm4che-arc 5.x |
dcm4che/logstash-dcm4chee | 5.2.2-3 |
Logstash 5.2.2 for dcm4che-arc 5.x |
dcm4che/dcm4chee-arc-psql |
5.10.2 , 5.10.2-secure , 5.10.2-secure-ui , 5.10.2-logstash , 5.10.2-logstash-secure , 5.10.2-logstash-secure-ui
|
dcm4chee-arc 5.x using PostgreSQL as DB |
Docker’s installation method differs based on one's platforms. Review Docker’s Installation guides for one's respective platform.
To make things unified across the various platforms, one may map dockerhost
to the ip of where one's
docker instance is running.
By default on Linux that will be 127.0.0.1
, so one would add the following line to one's /etc/hosts
file:
127.0.0.1 dockerhost
But on OSX and Windows it will be a unique IP that one can get by running boot2docker ip
(i.e. 192.168.59.122
).
In that case the following should be added:
192.168.59.122 dockerhost
From now on one can use dockerhost
in all of one's applications and get to it no matter what OS one is running on.
Before running the Archive container, start a container providing the LDAP server, e.g:
> $docker run --name slapd \
-p 389:389 \
-e LDAP_BASE_DN=dc=dcm4che,dc=org \
-e LDAP_ORGANISATION=dcm4che.org \
-e LDAP_ROOTPASS=secret \
-e LDAP_CONFIGPASS=secret \
-e ARCHIVE_DEVICE_NAME=dcm4chee-arc \
-e AE_TITLE=DCM4CHEE \
-e DICOM_HOST=dockerhost \
-e DICOM_PORT=11112 \
-e HL7_PORT=2575 \
-e SYSLOG_HOST=logstash \
-e SYSLOG_PORT=8512 \
-e SYSLOG_PROTOCOL=UDP \
-e STORAGE_DIR=/storage/fs1 \
-v /var/local/dcm4chee-arc/ldap:/var/lib/ldap \
-v /var/local/dcm4chee-arc/slapd.d:/etc/ldap/slapd.d \
-d dcm4che/slapd-dcm4chee:2.4.40-10.2
Before running the Archive container, start a container providing the database server, e.g:
> $docker run --name postgres \
-p 5432:5432 \
-e POSTGRES_DB=pacsdb \
-e POSTGRES_USER=pacs\
-e POSTGRES_PASSWORD=pacs \
-v /var/local/dcm4chee-arc/db:/var/lib/postgresql/data \
-d dcm4che/postgres-dcm4chee:9.6-10
If one wants to store DCM4CHEE Archive 5's System logs and Audit Messages in Elasticsearch one has to also start containers providing Elasticsearch, Logstash and Kibana:
> $docker run --name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-v /var/local/dcm4chee-arc/elasticsearch:/usr/share/elasticsearch/data \
-d elasticsearch:5.2.2
> $docker run --name logstash \
-p 12201:12201/udp \
-p 8514:8514/udp \
-p 8514:8514 \
-v /var/local/dcm4chee-arc/elasticsearch:/usr/share/elasticsearch/data \
--link elasticsearch:elasticsearch \
-d dcm4che/logstash-dcm4chee:5.2.2-3
> $docker run --name kibana \
-p 5601:5601 \
--link elasticsearch:elasticsearch \
-d kibana:5.2.2
One may choose between
- a not secured version (Tag Name:
5.10.2
), - a version with secured UI and secured RESTful services (Tag Name:
5.10.2-secure
), - a version with secured UI, but not secured RESTful services (Tag Name:
5.10.2-secure-ui
), - a not secured version with pre-configured GELF Logger
to emit System logs to Logstash (Tag Name:
5.10.2-logstash
), - a version with pre-configured GELF Logger and with secured UI
and secured RESTful services (Tag Name:
5.10.2-logstash-secure
) and - a version with pre-configured GELF Logger and with secured UI,
but not secured RESTful services (Tag Name:
5.10.2-logstash-secure-ui
).
One has to link the archive container with the OpenLDAP (alias:ldap
) and the PostgreSQL (alias:db
) container:
> $docker run --name dcm4chee-arc \
-p 8080:8080 \
-p 9990:9990 \
-p 11112:11112 \
-p 2575:2575 \
-e LDAP_BASE_DN=dc=dcm4che,dc=org \
-e LDAP_ROOTPASS=secret \
-e LDAP_CONFIGPASS=secret \
-e ARCHIVE_DEVICE_NAME=dcm4chee-arc \
-e POSTGRES_DB=pacsdb \
-e POSTGRES_USER=pacs\
-e POSTGRES_PASSWORD=pacs \
-e JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true" \
-e WILDFLY_CHOWN="/opt/wildfly/standalone /storage" \
-v /var/local/dcm4chee-arc/wildfly:/opt/wildfly/standalone \
-v /var/local/dcm4chee-arc/storage:/storage \
--link slapd:ldap \
--link postgres:db \
-d dcm4che/dcm4chee-arc-psql:5.10.2-secure-ui
If one wants to store DCM4CHEE Archive 5's System logs and Audit Messages in
Elasticsearch, one has to also link the archive container
with the Logstash (alias:logstash
) container:
> $docker run --name dcm4chee-arc \
-p 8080:8080 \
-p 9990:9990 \
-p 11112:11112 \
-p 2575:2575 \
-e LDAP_BASE_DN=dc=dcm4che,dc=org \
-e LDAP_ROOTPASS=secret \
-e LDAP_CONFIGPASS=secret \
-e ARCHIVE_DEVICE_NAME=dcm4chee-arc \
-e POSTGRES_DB=pacsdb \
-e POSTGRES_USER=pacs\
-e POSTGRES_PASSWORD=pacs \
-e JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true" \
-e WILDFLY_CHOWN="/opt/wildfly/standalone /storage" \
-v /var/local/dcm4chee-arc/wildfly:/opt/wildfly/standalone \
-v /var/local/dcm4chee-arc/storage:/storage \
--link slapd:ldap \
--link postgres:db \
--link logstash:logstash \
-d dcm4che/dcm4chee-arc-psql:5.10.2-logstash-secure-ui
Alternatively one may use Docker Compose to take care for starting and linking
the containers, by specifying the services in a configuration file docker-compose.yml
(e.g.):
version: "2"
services:
slapd:
image: dcm4che/slapd-dcm4chee:2.4.40-10.2
ports:
- "389:389"
env_file: docker-compose.env
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
- /var/local/dcm4chee-arc/ldap:/var/lib/ldap
- /var/local/dcm4chee-arc/slapd.d:/etc/ldap/slapd.d
postgres:
image: dcm4che/postgres-dcm4chee:9.6-10
ports:
- "5432:5432"
env_file: docker-compose.env
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
- /var/local/dcm4chee-arc/db:/var/lib/postgresql/data
elasticsearch:
image: elasticsearch:5.2.2
ports:
- "9200:9200"
- "9300:9300"
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
- /var/local/dcm4chee-arc/elasticsearch:/usr/share/elasticsearch/data
kibana:
image: kibana:5.2.2
ports:
- "5601:5601"
links:
- elasticsearch:elasticsearch
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
logstash:
image: dcm4che/logstash-dcm4chee:5.2.2-3
ports:
- "12201:12201/udp"
- "8514:8514/udp"
- "8514:8514"
links:
- elasticsearch:elasticsearch
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
dcm4chee-arc:
image: dcm4che/dcm4chee-arc-psql:5.10.2-logstash-secure-ui
ports:
- "8080:8080"
- "9990:9990"
- "11112:11112"
- "2575:2575"
env_file: docker-compose.env
environment:
WILDFLY_CHOWN: /opt/wildfly/standalone /storage
WILDFLY_WAIT_FOR: ldap:389 db:5432 logstash:8514
AUTH_SERVER_URL: /auth
links:
- slapd:ldap
- postgres:db
- logstash:logstash
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
- /var/local/dcm4chee-arc/storage:/storage
- /var/local/dcm4chee-arc/wildfly:/opt/wildfly/standalone
and environment in the referenced file docker-compose.env
(e.g.):
LDAP_BASE_DN=dc=dcm4che,dc=org
LDAP_ORGANISATION=dcm4che.org
LDAP_ROOTPASS=secret
LDAP_CONFIGPASS=secret
ARCHIVE_DEVICE_NAME=dcm4chee-arc
AE_TITLE=DCM4CHEE
DICOM_HOST=localhost
DICOM_PORT=11112
HL7_PORT=2575
SYSLOG_HOST=logstash
SYSLOG_PORT=8514
SYSLOG_PROTOCOL=TLS
STORAGE_DIR=/storage/fs1
POSTGRES_DB=pacsdb
POSTGRES_USER=pacs
POSTGRES_PASSWORD=pacs
KEYCLOAK_ADMIN_USER=admin
KEYCLOAK_ADMIN_PASSWORD=admin
and starting them by
> $docker-compose up -d
-
Archive UI: http://localhost:8080/dcm4chee-arc/ui2 - if secured, login with
Username Password Role user
user
user
admin
admin
user
+admin
-
Keycloak Administration Console: http://localhost:8080/auth, login with Username:
admin
, Password:admin
. -
Wildfly Administration Console: http://localhost:9990, login with Username:
admin
, Password:admin
. -
Kibana UI: http://localhost:5601
-
DICOM QIDO-RS Base URL: http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs
-
DICOM STOW-RS Base URL: http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs
-
DICOM WADO-RS Base URL: http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs
-
DICOM WADO-URI: http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado
-
IHE XDS-I Retrieve Imaging Document Set: http://localhost:8080/dcm4chee-arc/xdsi/ImagingDocumentSource
DCM4CHEE 5 Documentation