- Print
- DarkLight
- PDF
Установка Doczilla в Docker
Любая инструкция для linux является примерной,
и создана для того, чтобы показать основные команды и действия,
в связи с очень большим разнообразием linux-систем
Установку программного обеспечения должен выполнять технический специалист с базовыми знаниями и навыками администрирования систем Linux и базами данных PostgreSQL
Для работы приложения Doczilla Pro необходимо в наличии установленное дополнительное ПО Docker CE 19.03 и выше, для установки которого можно обратиться к официальной документации на сайте https://www.docker.com
Описание образов
Дистрибутив Doczilla Pro поставляется в формате образов (images) Docker. В состав дистрибутива входят два образа (имена могут немного отличаться):
doczilla-pro (обязательно) – интегрированный сервер Doczilla Pro
doczilla-nodejs (обязательно) – интегрированный вспомогательный сервер выгрузки данных
postgres-11-ru (опционально) – сервер СУБД PostgreSQL 11 с предустановленной русской локалью
Сервер Doczilla Pro может работать как с СУБД PostgreSQL, поставляемой в составе дистрибутива в виде образа Docker, так и с любым другим экземпляром СУБД PostgreSQL
Состав образов
Образ doczilla-pro собран на основе официального образа OpenJDK JRE 8 – openjdk:8u242-jre, содержащего среду исполнения JRE 8, необходимую для функционирования Doczilla Pro.
Файлы приложения находятся внутри образа в каталоге /opt/doczilla/, который имеет следующую структуру:
- bin – скрипты запуска и останова приложения
- lib – библиотеки приложения
- web – WEB-ресурсы приложения
- work – каталог с рабочими файлами приложения, в котором следует отметить следующий подкаталог:
- documents – каталог, в котором обрабатываются загружаемые в Doczilla Pro документы
Настоятельно рекомендуется монтировать этот каталог к внешним томам (ключ при запуске: -v /opt/volumes/documents:/opt/doczilla/work/documents):
т.к. в процессе работы Doczilla Pro изменяет файлы в этом каталоге, и при обновлении версии файлы останутся целыми (перед обновлением обязательно сделать резервную копию этих директорий и БД).
Контейнер использует следующие переменные окружения:
- DOCZILLA_DB_SCHEMA – схема в БД, необходимо указать свою схему (по умолчанию 'public');
- DOCZILLA_DB_USER – пользователь, от имени которого производится подключение к БД, по умолчанию 'doczilla';
- DOCZILLA_DB_PASSWORD – пароль пользователя, от имени которого производится подключение к БД, по умолчанию 'doczilla';
- DOCZILLA_DB_CONNECTION – строка подключения к БД в формате JDBC, по умолчанию 'jdbc:postgresql://localhost/doczilla' (localhost - имя хоста СУБД, doczilla - имя БД).
Контейнер экспортирует следующие TCP-порты 9080 (ключ при запуске: -p 9080:9080)
Образ doczilla-nodejs с вспомогательным приложением Nodejs для конвертации и скачивания файлов
Контейнер экспортирует следующие TCP-порты: 3000 (ключ при запуске: -p 3000:3000)
Образ postgres-11-ru собран на основе официального образа PostgreSQL – postgres:11.
Контейнер экспортирует следующие TCP-порты: 5432 (ключ при запуске: -p 5432:5432)
Настоятельно рекомендуется монтировать каталог с БД к внешнему тому (ключ при запуске: -v /opt/volumes/data:/var/lib/postgresql/data )
Тем самым можно будет перезапускать контейнер БД без потери данных.
Загрузка контейнеров
Контейнеры Doczilla, СУБД и nodejs-скриптов поставляются в архивных файлах, которые необходимо загрузить
## варианты команд для загрузки контейнеров
docker load < doczilla-pro.tar.gz ## загрузка контейнера doczilla
docker load -i doczilla-nodejs.tar.gz ## загрузка контейнера Nodejs
docker load --input postgres-11-ru.tar.gz ## загрузка контейнера PostgreSQL
Настройка запуска
Для запуска контейнеров используется команды, которые можно записать в скрипт
## запуск Doczilla Pro
docker run --restart always --name doczilla-pro -d -p 9080:9080 --network network0 -e DOCZILLA_DB_CONNECTION=jdbc:postgresql://postgres-11-ru/doczilla -v /opt/volumes/documents:/opt/doczilla/work/documents doczilla/doczilla-pro:demo
## запуск NodeJS
docker run --restart always --name doczilla-nodejs -d -p 3000:3000 --network network0 doczilla/doczilla-nodejs:demo
## запуск PostgreSQL 11
docker run --restart always --name postgres-11-ru -d -p 5432:5432 --network network0 -v /opt/volumes/data:/var/lib/postgresql/data doczilla/postgres:11-ru
описание ключей:
run = создание контейнера и его запуск
--restart = политика перезапуска контейнера
--name = задаёт имя контейнера
-d = запуск контейнера в фоновом режиме
-p = проброс порта на сервер из Docker
--network = тип или название сети для контейнера
-e = передача переменных окружения
-v = проброс папки с сервера в Docker