-
Notifications
You must be signed in to change notification settings - Fork 232
Running on Docker
Repository | Tag(s) | Description |
---|---|---|
dcm4che/slapd-dcm4chee | 5.1.0 |
slapd with schemas and default configuration for dcm4chee-arc 5.x |
dcm4che/postgres-dcm4chee | 5.1.0 |
PostgreSQL for dcm4che-arc 5.x |
dcm4che/logstash-dcm4chee | 5.1.0 |
Logstash for dcm4che-arc 5.x |
dcm4che/dcm4chee-arc-psql |
5.1.0 , 5.1.0-secure , 5.1.0-secure-ui , 5.1.0-logstash , 5.1.0-logstash-secure , 5.1.0-logstash-secure-ui
|
dcm4chee-arc 5.x using PostgreSQL as DB |
Docker’s installation method differs based on your platform. You’ll want to review Docker’s Installation guides for your respective platforms.
To make things unified across the various platform, 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:5.1.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:5.1.0
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.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.1.0
> $docker run --name kibana \
-p 5601:5601 \
--link elasticsearch:elasticsearch \
-d kibana:4.4
You may choose between
- a not secured version (Tag Name:
5.1.0
), - a version with secured UI and secured RESTful services (Tag Name:
5.1.0-secure
), - a version with secured UI, but not secured RESTful services (Tag Name:
5.1.0-secure-ui
), - a not secured version with pre-configured GELF Logger
to emit System logs to Logstash (Tag Name:
5.1.0-logstash
), - a version with pre-configured GELF Logger and with secured UI
and secured RESTful services (Tag Name:
5.1.0-logstash-secure
) and - a version with pre-configured GELF Logger and with secured UI,
but not secured RESTful services (Tag Name:
5.1.0-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 JAVA_OPTS="-Xms64m -Xmx512m -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.1.0-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 JAVA_OPTS="-Xms64m -Xmx512m -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.1.0-logstash-secure-ui
Alternatively you may use Docker Composite to take care for starting and linking
the containers, by specifying the services in a configuration file docker-compose.yml
(e.g.):
slapd:
image: dcm4che/slapd-dcm4chee:5.1.0
ports:
- "389:389"
environment:
LDAP_BASE_DN: dc=dcm4che,dc=org
LDAP_ORGANISATION: dcm4che.org
LDAP_ROOTPASS: secret
LDAP_CONFIGPASS: secret
DEVICE_NAME: dcm4chee-arc
AE_TITLE: DCM4CHEE
DICOM_HOST: dockerhost
DICOM_PORT: 11112
HL7_PORT: 2575
SYSLOG_HOST: logstash
SYSLOG_PORT: 8512
SYSLOG_PROTOCOL: UDP
STORAGE_DIR: /storage/fs1
volumes:
- /var/local/dcm4chee-arc/ldap:/var/lib/ldap
- /var/local/dcm4chee-arc/slapd.d:/etc/ldap/slapd.d
postgres:
image: dcm4che/postgres-dcm4chee:5.1.0
ports:
- "5432:5432"
environment:
POSTGRES_DB: pacsdb
POSTGRES_USER: pacs
POSTGRES_PASSWORD: pacs
volumes:
- /var/local/dcm4chee-arc/db:/var/lib/postgresql/data
elasticsearch:
image: elasticsearch:2.2
ports:
- "9200:9200"
- "9300:9300"
volumes:
- /var/local/dcm4chee-arc/elasticsearch:/usr/share/elasticsearch/data
kibana:
image: kibana:4.4
ports:
- "5601:5601"
links:
- elasticsearch:elasticsearch
logstash:
image: dcm4che/logstash-dcm4chee:5.1.0
ports:
- "12201:12201/udp"
- "8514:8514/udp"
- "8514:8514"
links:
- elasticsearch:elasticsearch
dcm4chee-arc:
image: dcm4che/dcm4chee-arc-psql:5.1.0-logstash-secure-ui
ports:
- "8080:8080"
- "9990:9990"
- "11112:11112"
- "2575:2575"
environment:
JAVA_OPTS: "-Xms64m -Xmx512m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true"
WILDFLY_CHOWN: "/opt/wildfly/standalone /storage"
volumes:
- /var/local/dcm4chee-arc/wildfly:/opt/wildfly/standalone
- /var/local/dcm4chee-arc/storage:/storage
links:
- slapd:ldap
- postgres:db
- logstash:logstash
and starting them by
> $docker-compose up -d
- Archive UI: http://localhost:8080/dcm4chee-arc/ui - if secured, login with Username:
user
, Password:user
. - Kibana UI: http://localhost:5601
- 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
. - DICOM WADO-URI: http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/wado
- DICOM QIDO-RS Base URL: http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs
DCM4CHEE 5 Documentation