Развертывание BPMSoft через Docker на Microsoft Windows

Средний
Инструкция подходит для развертывания в своем окружении, соответствующем системным требованиям BPMSoft. При развертывании BPMSoft в инфраструктуре других облачных провайдеров необходимо учитывать особенности и возможные ограничения инфраструктуры и предоставляемых доступов. Для уточнения деталей или при возникновении вопросов рекомендуем обратиться к документации или поддержке облачного провайдера.

В BPMSoft, начиная с версии 1.7, есть возможность развернуть приложение с использованием Docker-образа.

Рекомендуем использовать данный способ развертывания только для непродуктивных сред.

Таблица 1 — Ограничения к веб-серверу и серверу базы данных

Платформа База данных Сервер кэширования Операционная система Версия Docker Compose
.NET 8 PostgreSQL Redis Актуальные операционные системы семейства Linux, заявленные в системных требованиях 2.3.0 и выше.

Обновление Docker Compose описано в официальной документации

Развертывание на Windows

Перед установкой убедитесь в том, что среда, на которую вы хотите устанавливать приложение, соответствует системным требованиям BPMSoft.
Для корректной работы приложения в Docker убедитесь, что пользователь, под которым запущен Docker Desktop, имеет необходимые права на чтение и запись к папке app, чтобы контейнер мог с ними успешно взаимодействовать.

Перед развертыванием BPMSoft через Docker выполните следующие шаги:

  1. Разархивируйте в любое удобное место архив с файлами для развертывания приложения в Docker.
Примечание. Для предоставления доступа к архиву с файлами для развертывания обратитесь в Техническую поддержку BPMSoft.
  1. Настройте источник образов. Авторизуйтесь на ресурсе repo.bpmsoft.ru, используя команду:
docker login repo.bpmsoft.ru
Примечание. Для предоставления доступа к ресурсу repo.bpmsoft.ru обратитесь в Техническую поддержку BPMSoft.
  1. Заполните параметры в файле .env. Этот файл расположен в папке deploy.

Таблица 2 — Параметры в файле .env

Параметр Значение
Deployment_Files "-f docker-compose.yml"

Используйте кавычки для значений, чтобы избежать ошибок из-за пробелов

BPMSoft_Image Укажите название образа и тэг в формате [Image]:[Tag]. Image обозначает тип сборки, Tag — версию.

Доступные образы можно посмотреть в реестре Docker-образов в ресурсе repo.bpmsoft.ru

BPMSoft_Port Укажите порт хоста для развертывания приложения
BPMSoft_Container_Port Укажите внутренний порт контейнера.

Варианты значений:

  • 5002 — доступ будет по HTTPS;
  • 5000 — доступ будет по HTTP
Postgres_Host Для подключения к существующей базе данных: введите адрес хоста, где она развернута. Если база данных находится на том же хосте, что и Docker, используйте значение "host.docker.internal".

Если нужно развернуть новую базу данных: укажите значение "postgres"

Postgres_DB Для подключения к существующей базе данных укажите название имеющейся базы данных.

Если нужно развернуть новую базу данных, введите ее название. Система создаст базу с указанным именем

Postgres_Port Для подключения к существующей базе данных укажите порт хоста, где работает PostgreSQL.

Если нужно развернуть новую базу данных, укажите порт хоста для установки PostgreSQL

Postgres_User Для подключения к существующей базе данных укажите имя пользователя, имеющего доступ к базе данных.

Если нужно развернуть новую базу данных, укажите имя пользователя, который будет создан. Через него будет осуществляться доступ к базе данных

Postgres_Password Для подключения к существующей базе данных укажите пароль пользователя базы данных.

Если нужно развернуть новую базу данных, укажите пароль пользователь, через которого будет осуществляться доступ к базе данных

Cache_Host Для подключения к существующему серверу кэширования укажите адрес хоста, на котором будет развернут сервер кэширования. Если сервер кэширования находится на том же хосте, что и Docker, используйте значение "host.docker.internal".

Если нужно развернуть новый сервер кэширования, укажите значение "redis"

Cache_Port Для подключения к существующему серверу кэширования укажите порт хоста, на котором развернут сервер кэширования.

Если нужно развернуть новый сервер кэширования, укажите значение "6379". Порт будет использован как порт контейнера внутри сети docker

  1. Для восстановления базы данных из резервной копии измените параметры в файле .env.

Таблица 3 — Параметры в файле .env для восстановления базы данных из резервной копии

Параметр Значение
Deployment_Option К существующему значению добавьте: "-f docker-compose.db-restore.yml"

Используйте кавычки для значений, чтобы избежать ошибок из-за пробелов

Будет создан контейнер, который запустит восстановление базы данных из резервной копии.

  1. Для развертывания сервера кэширования измените параметры в файле .env.

Таблица 4 — Параметры в файле .env для развертывания сервера кэширования

Параметр Значение
Deployment_Option К существующему значению добавьте: "-f docker-compose.cache.yml". Используйте кавычки для значений, чтобы избежать ошибок из-за пробелов
  1. Для развертывания базы данных измените параметры в файле .env.

Таблица 5 — Параметры в файле .env для развертывания базы данных

Параметр Значение
Deployment_Option К существующему значению добавьте: "-f docker-compose.db.yml". Используйте кавычки для значений, чтобы избежать ошибок из-за пробелов
Postgres_Data_Path Укажите путь до папки, в которой будут храниться файлы базы данных
  1. Для работы по HTTPS выполните следующие шаги:
    1. Рядом с директорией deploy создайте директорию app.
    2. Создайте папку Certificates в директории app.
    3. Добавьте сертификат в папку Certificates.
    4. Измените параметры в файле .env:

Таблица 6 — Параметры в файле .env для подключения по HTTPS

Параметр Значение
SSL Укажите значение y
Cert_Path Укажите путь к pfx-сертификату относительно папки app. Файл должен находиться в директории app/Certificates
Cert_Pass Укажите пароль от pfx-сертификата
Соблюдайте последовательность docker-compose файлов в параметре Deployment_Files docker-compose.yml → docker-compose.db-restore.yml → docker-compose.cache.yml → docker-compose.db.yml.
  1. Запустите контейнеры, выполнив команду:
Шаблон команды запуска контейнеров
docker compose [Deployment_Files] up -d
  1. Подождите пока все контейнеры запустятся и успешно пройдут проверку работоспособности (health check).

Логирование

Для просмотра логов контейнера выполните команду:

docker logs [название контейнера]

Логи приложения BPMSoft находятся в папке Logs основного приложения. Подробнее: Логирование NLog

Изменение портов приложения внутри контейнера

При изменении портов приложения внутри контейнера в appsettings.json нужно обновить переменные среды в файле .env в папке deploy:

  1. Изменить BPMSoft_Container_Port — указать порт внутри контейнера, через который можно получить доступ к приложению.
  2. Добавить или изменить переменные, участвующие в формировании адреса, по котором проходит healthcheck контейнера:
    • HealthCheck_BPMSoft_Container_Port — порт внутри контейнера, по которому есть доступ к приложению;
    • HealthCheck_BPMSoft_Container_Protocol — протокол, использующий порт из переменной HealthCheck_BPMSoft_Container_Port.

После редактирования файла .env перезапустите контейнер с приложением. Для этого выполните команду в папке deploy, заменив [Deployment_Files] значением переменной Deployment_Files из файла .env:

Шаблон команды перезапуска контейнера с BPMSoft
docker compose [Deployment_Files] up bpm-app -d

Обновление BPMSoft

Описание процесса обновления BPMSoft, развернутого через Docker, представлено в статье Обновление BPMSoft, развернутого через Docker.

Рекомендуем изучить

Системные требования BPMSoft

Материал был полезен для вас?
Запросить демонстрацию
Купить приложение
Заявка на индивидуальный тренинг
Заявка на обучение в формате тренинга
Заявка на консультацию по обучению
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Вебинар: 10 ноября в 11:00
Разберём, как повысить эффективность управления ИТ-инфраструктурой с помощью ITSM и Service Desk. Обсудим, как сократить операционные затраты и ускорить бизнес-процессы в 2 раза, на реальном опыте ПАО «Трубная металлургическая компания» (ТМК) и Группы Rubytech.
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Регистрация на мероприятие
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Предпочитаемый способ связи
Оставить заявку
Оставьте свои контакты, и наш менеджер свяжется с Вами в ближайшее время.
Предпочитаемый способ связи
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Предпочитаемый способ связи
Рассчитать стоимость
Предпочитаемый способ связи
Лучшие CRM-системы в России: выводы Фонда «Сколково»
Задать вопрос
Предпочитаемый способ связи
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты, и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Заявка на онлайн-консультации по BPMSoft
Оставьте свои контакты, и наш менеджер свяжется с Вами в ближайшее время
Стать образовательным партнёром
Оставьте свои контакты, и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты, и наш менеджер свяжется с Вами в ближайшее время.
Подписка
Спасибо!
Ваша заявка принята.
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Внимание!
Обнаружена ошибка.
Вы подписаны на новостную рассылку от BPMSoft.
Вы подписаны на новостную рассылку от BPMSoft.
MAX Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее