Для просмотра версии Chat Server воспользуйтесь командой:

docker logs elph-chat-server-1 | grep -B 5 -A 8 'Version'

Пример вывода команды:

+-----------------------------------------------------+
|                    SERVER RUNNING                   |
+-----------------------------------------------------+
|                                                     |
|  Instance ID: 7fde0b5d-338f-42bf-97ce-2a2349aa16fb  |
|  Version: 2.14.12                                    |
|  NodeJS Version: 14.21.3 - x64                      |
|  Platform: linux                                    |
|  Process Port: 3000                                 |
|  Access url: https://1.1.1.1/elph_chat              |
|  API URL: https://1.1.12.12:3443/                   |
|                                                     |
+-----------------------------------------------------+

Также версию Chat Server можно посмотреть по адресу: https://<chat-address>:3011/api/info или https://<elph-proxy-address>/elph_chat/api/info.

При обновлении с версий ниже 2.9.2 на 2.10.0 и выше медиа и файлы не сохранятся! Миграция медиа и файлов проводится по запросу. Для проведения миграции файлов обратитесь в коммерческий отдел компании Eltex: eltex@eltex-co.ru.

При обновлении с версий ниже 2.14.10 на 2.14.11 и выше потребуется перенести volumes.

При обновлении на 2.14.10 и выше, нужно проверить параметр mongo.featureCompatibilityVersion.

При обновлении MongoDB с версии 4.x до 6.x внутренний параметр featureCompatibilityVersion не обновляется автоматически. Перед обновлением проверьте значение параметра:

docker exec -it elph-mongo mongosh --quiet --eval \
  'db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1})'

Если версия = 4, то перед обновлением поднимите версию до 5:

docker exec -it elph-mongo mongosh --quiet --eval \
  'db.adminCommand({setFeatureCompatibilityVersion: "5.0"})'

И перезапустите контейнер:

docker compose restart mongo

После обновления аналогично поднимите версию до 6.

Обновление Chat Server

Перед обновлением:

  • Создайте резервную копию баз данных;
  • Обновите Elph Proxy.

Подробнее про создание и восстановление резервной копии можно прочитать в разделе «Резервное копирование».

Обновление с версии ниже 2.14.10 (с переносом volumes)

1. Остановите Chat Server:

./ecss-elph-chat-server.sh down

2. Перейдите в директорию:

cd elph-chat-server/stable

3. Переместите предыдущие файлы конфигурации и docker-compose.yaml в бэкап-директорию:

sudo mv .env .elph-chat.env .push-gateway.env docker-compose.yaml ../elph-chat-backup-dir

4. Скачайте новые docker-compose.yaml и конфигурационные файлы:

wget https://archive.eltex-co.ru/service/rest/repository/browse/elph-services-raw/elph-chat-server/2.14.12/.env
wget https://archive.eltex-co.ru/service/rest/repository/browse/elph-services-raw/elph-chat-server/2.14.12/docker-compose.yaml
wget https://archive.eltex-co.ru/service/rest/repository/browse/elph-services-raw/elph-chat-server/2.14.12/services/.elph-chat.env
wget https://archive.eltex-co.ru/service/rest/repository/browse/elph-services-raw/elph-chat-server/2.14.12/services/.push-gateway.env

5. Отредактируйте конфигурационный файл .env:

<nano/vim/mcedit> .env
ELPH_PROXY="proxy.ip.or.domain"
ELPH_CHAT="chat.ip.or.domain"
ELPH_STATUS_SERVICE="status.ip.or.domain"
ECSS_ADDRESSBOOK_HOST="address-book.ip.or.domain"
LDAP_HOST=""
ELPH_SSW="ssw.ip.or.domain"
ELPH_SSW_DOMAIN="domain.name"

6. Обновите образы:

docker compose pull

7. Поднимите сервис командой:

docker compose up -d

8. Остановите сервис без очистки volumes:

docker compose down --volumes=false

9. Перенести все volumes elph-chat-server-stable_[SERVICE] в stable_[SERVICE].
Для каждого сервиса выполните:

docker run --rm \
  -v elph-chat-server-stable_mongodb_data:/source \
  -v stable_mongodb_data:/target \
  alpine sh -c "cp -av /source/. /target/" 

Чтобы посмотреть список volumes:

docker volumes ls

10. Поднимите сервис командой:

docker compose up -d


После обновления проверьте и измените конфигурационные файлы .env. Изменения внесенные вручную не сохраняются!

После изменения .env перезапустите Chat Server.

Будьте внимательны при установке конкретной сборки Chat Server. Downgrade в текущей версии Chat Server не предусмотрен.