Offline-обновление применяется, когда сервер с ECCM не имеет прямого доступа в интернет: все необходимые файлы скачиваются заранее в виде архива и переносятся на сервер вручную. Инструкция подходит для обновления с версии 2.0 и выше для однохостовой и многохостовой установки и состоит из нескольких шагов: создание резервной копии, получение и распаковка архива, остановка старой версии ECCM, запуск новой версии продукта.
Создание резервной копии
Для возможности отката к предыдущей версии перед началом обновления рекомендуем создать резервную копию данных. Если ECCM установлен на сервере с виртуализацией, сделайте Snapshot системы. В ином случае — создайте резервную копию базы данных eccm средствами PostgreSQL. Подробная инструкция по созданию резервной копии базы данных приведена в разделе "Резервное копирование базы данных ECCM".
[ -d eccm/2.10 ] && sudo cp eccm/2.10 "eccm/eccm-backup-2.10-$(date +%Y%m%d)" #создание бэкапа текущей директории ECCM, если она существует
Получение и распаковка архива
Файлы системы распространяются в виде архива .tar.gz и находятся в общедоступном облаке. Скачайте архив на сервер и распакуйте его в заранее созданную отдельную директорию:
wget "https://cloud.eltex-co.ru/index.php/s/P8xDfmyo3XyEs0g/download?path=%2F&files=eccm-offline-2.10.tar.gz" -O eccm-2.10.tar.gz [ ! -d eccm ] && mkdir eccm sudo tar -zxvf eccm-2.10.tar.gz -C eccm/
В случае многохостовой установки скачайте и распакуйте архив и на сервер с ECCM, и на сервер с базой данных.
обновление 2.6 -> 2.7
С версии 2.7 ECCM поддерживает PostgreSQL 16.11. Перед обновлением до версии 2.7 нужно подготовить базу данных по инструкции.
Остановка старой версии ECCM
Остановка сервисов ECCM при однохостовой установке
Когда ECCM запущен на одном хосте (ECCM и база данных находятся на одном сервере), для остановки старой версии ECCM и удаления контейнеров выполните команду из директории с файлами запуска старой версии ECCM:
cd <путь до каталога с файлами запуска ECCM 2.10> sudo ./compose-tools.sh --stop --delete-containers sudo docker network prune
Остановка сервисов ECCM при многохостовой установке
Когда ECCM запущен на нескольких хостах (ECCM на одном сервере, база данных — на другом), для остановки старой версии ECCM выполните команды, приведенные ниже.
На сервере с ECCM:
cd <путь до каталога с файлами запуска ECCM 2.10> sudo ./compose-tools.sh --stop --delete-containers sudo docker network prune
На сервере с базой данных:
cd <путь до каталога с файлами запуска ECCM 2.10>/postgres sudo docker compose down
Запуск новой версии ECCM
Запуск новой версии ECCM при однохостовой установке
Для однохостовой системы после успешной остановки старой версии ECCM перейдите в директорию, в которую был распакован архив с новой версией ECCM, и выполните команду:
cd <путь до каталога с файлами запуска ECCM 2.10> sudo ./compose-tools.sh --load sudo ./compose-tools.sh --start <IP ADDRESS>
Перед запуском самих контейнеров скрипт проверяет наличие файла .env.personal и в случае его отсутствия предлагает создать его в дополнительном диалоге. При стандартных паролях система также предложит изменить их: вручную или с помощью автоматической генерации. После изменения паролей проект продолжит запуск. Пароли сервисов при обновлении автоматически заменяются с старых на новые из файла .env.personal.
Запуск новой версии ECCM при многохостовой установке
Если система была установлена на нескольких хостах, для запуска новой версии ECCM выполните команды, приведенные ниже.
На сервере с базой данных:
cd <путь до каталога с файлами запуска ECCM 2.10> sudo ./compose-tools.sh --load sudo ./compose-tools.sh --start <IP ADDRESS DATABASE> --database-only
Перед запуском самих контейнеров скрипт проверяет наличие файла .env.personal и в случае его отсутствия предлагает создать его в дополнительном диалоге. При стандартных паролях система также предложит изменить их: вручную или с помощью автоматической генерации. После изменения паролей проект продолжит запуск. Пароли сервисов при обновлении автоматически заменяются с старых на новые из файла .env.personal.
На сервере с ECCM:
Для корректной работы конфигурационный файл с паролями .env.personal должен быть идентичен между серверами БД и ECCM. Для синхронизации файла конфигурации между серверами можно воспользоваться утилитой rsync. Для передачи .env.personal используйте следующую команду после успешного запуска сервера с БД:
sudo rsync -av --delete --rsync-path="sudo rsync" <полный_путь_до_директории_eccm>/.env.personal <имя_пользователя_сервера>@<IP-адрес_сервера_назначения>:<полный_путь_до_директории_eccm>
После выполнения команды для каждого сервера назначения файл конфигурации будет соответствовать настроенному ранее.
cd <путь до каталога с файлами запуска ECCM 2.10> sudo ./compose-tools.sh --load sudo ./compose-tools.sh --start <IP ADDRESS> --database-host <IP ADDRESS DATABASE> --database-port <PORT DATABASE>