В статье описана установка ELMA Cortex с использованием Docker Compose. В этом варианте установки все компоненты разворачиваются в виде контейнеров на одном сервере. Доступна только установка с доступом в интернет.
Перед установкой убедитесь, что:
- установлены Docker и Docker Compose;
- вы загрузили установочные файлы и настроили переменные окружения.
Обратите внимание, для работы MongoDB в режиме репликации требуется ключ аутентификации. Он создаётся автоматически в процессе установки и используется для внутренней аутентификации узлов базы данных.
Установка ELMA Cortex
Для установки ELMA Cortex с использованием Docker Compose:
- Запустите скрипт установки:
chmod +x install.sh
./install.sh
Если вы используете несколько копий ELMA Cortex, и нужно указать название проекта:
./install.sh --project-name my-cortex
- После выполнения скрипта install.sh некоторым сервисам может потребоваться несколько минут для полного запуска. Чтобы убедиться, что сервисы готовы к работе, выполните команду:
docker ps
- Дождитесь в логах появления сообщения “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. Перенести конфигурацию
- Сравните сохранённую копию с новым файлом .env, чтобы выявить настройки, добавленные в последней версии. Для этого используйте команду:
diff ~/elma-cortex-env-backup.env ~/elma-cortex/docker-compose/.env
- Перенесите настройки из своей конфигурации, выполнив команды:
- чтобы заменить новый файл .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:
- Запустите скрипт удаления:
chmod +x uninstall.sh
./uninstall.sh
Если вы используете несколько копий ELMA Cortex, и нужно указать название проекта:
./uninstall.sh --project-name my-cortex
- Чтобы также удалить все данные в Docker-томах, выполните команду:
COMPOSE_PROJECT_NAME=elma-cortex docker compose --profile caddy --profile redis --profile mongo --profile rabbit --profile minio --profile qdrant --profile phoenix down –v