Установить ELMA Cortex с использованием Docker Compose

В статье описана установка ELMA Cortex с использованием Docker Compose. В этом варианте установки все компоненты разворачиваются в виде контейнеров на одном сервере. Доступна только установка с доступом в интернет.

Перед установкой убедитесь, что:

Обратите внимание, для работы MongoDB в режиме репликации требуется ключ аутентификации. Он создаётся автоматически в процессе установки и используется для внутренней аутентификации узлов базы данных.

Установка ELMA Cortex

Для установки ELMA Cortex с использованием Docker Compose:

  1. Запустите скрипт установки:

chmod +x install.sh
./install.sh

Если вы используете несколько копий ELMA Cortex, и нужно указать название проекта:

./install.sh --project-name my-cortex

  1. После выполнения скрипта install.sh некоторым сервисам может потребоваться несколько минут для полного запуска. Чтобы убедиться, что сервисы готовы к работе, выполните команду:

docker ps

  1. Дождитесь в логах появления сообщения “Application startup complete”.

Создание ключа для MongoDB

При установке ELMA Cortex в скрипте install.sh автоматически генерируется ключ аутентификации, который используется для репликации встроенного сервиса MongoDB. К файлу автоматически назначаются права доступа.

Если нужно создать новый ключ вручную, выполните команды:

openssl rand -base64 756 > mongo.keyfile
 
sudo chown 999:999 mongo.keyfile
sudo chmod 400 mongo.keyfile

Экспорт корневого сертификата Caddy

Если в качестве режима управления TLS‑сертификатами вы выбрали Internal, экспортируйте корневой сертификат Caddy, чтобы добавить его в список доверенных:

docker exec $(docker ps -q -f name=caddy) cat /data/caddy/pki/authorities/local/root.crt > caddy_root.crt

Обновление ELMA Cortex

При выпуске новой версии ELMA Cortex необходимо скачать архив с обновлёнными установочными файлами и перенести вашу конфигурацию, настроенную в файле переменных окружения. Рассмотрим шаги обновления при использовании Docker Compose.

Шаг 1. Сохранить текущую конфигурацию

Перед обновлением создайте копию текущего файла .env:

cp ~/elma-cortex/docker-compose/.env ~/elma-cortex-env-backup.env

Шаг 2. Скачать установочные файлы

Скачайте новую версию архива с установочными файлами и распакуйте его. Существующие файлы заменятся на новые.

Для этого выполните команды:

cd ~
curl -fsSO https://dl.elma365.com/extensions/elma-cortex/latest/elma-cortex-onpremises.zip
unzip -o -d ./elma-cortex elma-cortex-onpremises.zip

Использование флага -o позволяет заменить существующие файлы без запроса подтверждения.

Шаг 3. Перенести конфигурацию

  1. Сравните сохранённую копию с новым файлом .env, чтобы выявить настройки, добавленные в последней версии. Для этого используйте команду:

diff ~/elma-cortex-env-backup.env ~/elma-cortex/docker-compose/.env

  1. Перенесите настройки из своей конфигурации, выполнив команды:
  • чтобы заменить новый файл .env резервной копией и добавить новые настройки из последней версии вручную:

cp ~/elma-cortex-env-backup.env ~/elma-cortex/docker-compose/.env

  • чтобы отредактировать новый файл .env и перенести изменённые значения из резервной копии:

nano ~/elma-cortex/docker-compose/.env

Шаг 4. Применить обновление

Перейдите в папку с установочными файлами и запустите скрипт установки:

cd ~/elma-cortex/docker-compose
./install.sh

Скрипт загрузит новые Docker-образы и перезапустит сервисы с обновлённой версией.

Удаление ELMA Cortex

Для удаления при использовании Docker Compose:

  1. Запустите скрипт удаления:

chmod +x uninstall.sh
./uninstall.sh

Если вы используете несколько копий ELMA Cortex, и нужно указать название проекта:

./uninstall.sh --project-name my-cortex

  1. Чтобы также удалить все данные в Docker-томах, выполните команду:

COMPOSE_PROJECT_NAME=elma-cortex docker compose --profile caddy --profile redis --profile mongo --profile rabbit --profile minio --profile qdrant --profile phoenix down –v