Запуск веб-вьювера oviyam2 в контейнере docker

Популярный веб-просмотрщик oviyam2 (http://oviyam.raster.in/index.html , https://sourceforge.net/projects/dcm4che/files/Oviyam/) очень легко интегрируется на сервер dcm4chee версий 2.хх. А вот "подружить" его с другими dicom-серверами бывает не так просто, как с упомянутым выше.

Хорошо что есть энтузиасты, которые совершенно бесплатно предлагают решения, которые вполне по силам воплотить даже начинающим администраторам. Вот и я, воспользовавшись готовым решением, лишь слегка его поправив, легко запустил oviyam2 и подключил его к dicom-серверам.

Установка проводилась на виртуальный сервер под управлением debian 10 с установленным docker-ce.

Кратко, как установить докер - по ссылке

Для начала скачал с гитхаба Dockerfile:

wget https://raw.githubusercontent.com/leonardoforti/oviyam/master/Dockerfile

Для тех, кто пока ещё не очень хорошо знает, что такое Dockerfile: это сценарий, по которому собирается образ для запуска в контейнере. Содержание файла изначально такое:

FROM tomcat:latest -

ENV ovi_ver 2.7.3

ENV iovi_ver 2.1

RUN apt-get install unzip

WORKDIR /ovitmp

ADD https://iweb.dl.sourceforge.net/project/dcm4che/Oviyam/${ovi_ver}/Oviyam-${ovi_ver}-bin.zip oviyam.zip

ADD https://iweb.dl.sourceforge.net/project/dcm4che/Oviyam/iOviyam%20${iovi_ver}/iOviyam-${iovi_ver}-bin.zip ioviyam.zip

RUN unzip oviyam.zip && unzip ioviyam.zip &&

cp /ovitmp/Oviyam-${ovi_ver}-bin/Oviyam-${ovi_ver}-bin/oviyam2.war /usr/local/tomcat/webapps/ROOT.war &&

cp /ovitmp/Oviyam-${ovi_ver}-bin/tomcat/*.jar /usr/local/tomcat/lib &&

cp /ovitmp/iOviyam-${iovi_ver}-bin/ioviyam2.war /usr/local/tomcat/webapps/ioviyam2.war

COPY tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml

 

Что здесь "зашифровано"? Всё просто. Берётся образ последней версии tomcat и в него скачиваются и распаковываются приложения oviyam2 версии 2.7.3 и ioviyam версии 2.1.

А также копируется файл настроек tomcat-users.xml. Его тоже нужно скачать и отредактировать под себя:

wget https://raw.githubusercontent.com/leonardoforti/oviyam/master/tomcat-users.xml

У меня установлен mc, поэтому я пользуюсь его редактором, весьма удобным

mcedit tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="admin"/>

  <role rolename="manager-gui"/>
  <user username="tomcat" password="cattom" roles="manager-gui, manager-script, manager-status, manager-jmx"/>
  <user username="admin" password="admin" roles="admin"/>
</tomcat-users>

Что нужно сделать? Нужно изменить пароль для админа и добавить свои логины/пароли для пользователей.

Например так:

<user username="user1" password="userpassword1" roles="manager-gui"/> - добавление пользователя user1 с паролем userpassword1, который может только лишь настроить под себя интерфейс для просмотра.

Таких пользователей можно добавить столько, сколько вам нужно.

Когда всё отредактировано и сохранено, запускаем сборку образа (ВНИМАНИЕ! Точка здесь - не конец предложения :), а указание на то, что докерфайл находится в текущем каталоге):

docker build -t oviyam2_7_3 .

Когда образ соберётся, а на это уйдёт время на скачивание образа томкэта и всех нужных пакетов, можно будет запустить контейнер на выполнение:

docker run -it --network=dcm4chee_default --name oviyam2 -p 8181:8080 -p 1025:1025 -v /home/dcm4chee/oviyam:/usr/local/tomcat/work -d oviyam2_7_3:latest

Здесь предполагается, что сеть dcm4chee_default у вас уже определена для докера и запущена. Кроме того должен существовать и быть доступным для записи каталог, в котором будет размещена рабочая папка контейнера (здесь /home/dcm4chee/oviyam, у вас же может быть, естественно любая своя)

В браузере вьювер будет доступен по адресу:

http://IP-сервера:8181

Порт 8181 также можно изменить на любой, который вам нравится, но, естественно, не задействованный другими программами на этом сервере. Например 8080 у меня задействован для dcm4chee, поэтому я выбрал 8181.

Далее всё как обычно, заходим под админом, добавляем в конфигурации свои серверы и пользуемся 🙂

(С) Александр Кузнецов, 10.04.2020

 

 

 

 

 

 

Scroll to top