-
Notifications
You must be signed in to change notification settings - Fork 243
Running on Docker
Repository | Tag(s) | Description |
---|---|---|
dcm4che/slapd-dcm4chee | 2.4.40-9.0 |
slapd with schemas and default configuration for dcm4chee-arc 5.x |
dcm4che/postgres-dcm4chee |
9.4-9 , 9.6-9
|
PostgreSQL 9.4/9.6 for dcm4che-arc 5.x |
dcm4che/logstash-dcm4chee | 2.4-0 |
Logstash 2.4 for dcm4che-arc 5.x |
dcm4che/dcm4chee-arc-psql |
5.9.1 , 5.9.1-secure , 5.9.1-secure-ui , 5.9.1-logstash , 5.9.1-logstash-secure , 5.9.1-logstash-secure-ui
|
dcm4chee-arc 5.x using PostgreSQL as DB |
Docker’s installation method differs based on your platforms. You’ll want to review Docker’s Installation guides for your respective platform.
To make things unified across the various platforms, you may map dockerhost
to the ip of where your
docker instance is running.
By default on Linux that will be 127.0.0.1
, so you would add the following line to your /etc/hosts
file:
127.0.0.1 dockerhost
But on OSX and Windows it will be a unique IP you 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 you can use dockerhost
in all your applications and get to it no matter what OS you are running on.
Before running the Archive container, you have to 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 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-9.0
Before running the Archive container, you have to 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-9
If you want to store DCM4CHEE Archive 5's System logs and Audit Messages in Elasticsearch you have 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:2.4
> $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:2.4-0
> $docker run --name kibana \
-p 5601:5601 \
--link elasticsearch:elasticsearch \
-d kibana:4.6
You may choose between
- a not secured version (Tag Name:
5.9.1
), - a version with secured UI and secured RESTful services (Tag Name:
5.9.1-secure
), - a version with secured UI, but not secured RESTful services (Tag Name:
5.9.1-secure-ui
), - a not secured version with pre-configured GELF Logger
to emit System logs to Logstash (Tag Name:
5.9.1-logstash
), - a version with pre-configured GELF Logger and with secured UI
and secured RESTful services (Tag Name:
5.9.1-logstash-secure
) and - a version with pre-configured GELF Logger and with secured UI,
but not secured RESTful services (Tag Name:
5.9.1-logstash-secure-ui
).
You have 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 WILDFLY_ADMIN_USER=admin \
-e WILDFLY_ADMIN_PASSWORD=admin \
-e KEYCLOAK_ADMIN_USER=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
-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.9.1-secure-ui
If you want to store DCM4CHEE Archive 5's System logs and Audit Messages in
Elasticsearch, you also have to 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 WILDFLY_ADMIN_USER=admin \
-e WILDFLY_ADMIN_PASSWORD=admin \
-e KEYCLOAK_ADMIN_USER=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
-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.9.1-logstash-secure-ui
Alternatively you 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-9.0
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-9
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.1.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.1.2
ports:
- "5601:5601"
links:
- elasticsearch:elasticsearch
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
logstash:
image: dcm4che/logstash-dcm4chee:5.1.2-0
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.9.1-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
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"
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/ui - 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
DCM4CHEE 5 Documentation