Установка Doczilla в Docker
    • 25 Jul 2024
    • 2 Minutes to read
    • Contributors
    • Dark
      Light
    • PDF

    Установка Doczilla в Docker

    • Dark
      Light
    • PDF

    Article summary

    Любая инструкция для 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




    Was this article helpful?