Перейти к основному содержимому

Обновление сервера

Данные сохраняются, изменения схемы базы применяются автоматически при старте новой версии.

Перед обновлением снимите резервную копию базы

Откат пакета или образа не откатывает миграции базы. Порядок — в Резервном копировании.

Docker Compose

  1. Скопируйте на сервер новый архив поставки и загрузите образ:

    docker load -i images/tetra-backend-<новая версия>.tar
  2. Снимите резервную копию базы.

  3. Укажите новую версию в .env:

    TETRA_IMAGE_TAG=<новая версия>
  4. Примените:

    docker compose up -d
    docker compose ps
    docker compose logs --tail 50 backend

Откат

Верните прежнее значение TETRA_IMAGE_TAG и повторите docker compose up -d — образ предыдущей версии остаётся загруженным.

Если новая версия меняла схему базы, восстановите базу из резервной копии, снятой перед обновлением: назад схема автоматически не откатывается.

Пакет deb/rpm

tar -xzf tetra_<новая версия>_linux_amd64.tar.gz && cd tetra_<новая версия>_linux_amd64
sha256sum -c checksums.txt
sudo apt-get install -y ./tetra_*_linux_amd64.deb # Debian, Ubuntu
sudo dnf install -y ./tetra_*_linux_amd64.rpm # RHEL, Alma, Rocky

Сервис перезапускается сам, config.yaml не перезаписывается, миграции применяются при старте.

Проверка:

/opt/tetra/tetra version # должна совпасть с версией пакета
systemctl status tetra
sudo journalctl -u tetra -n 50 # если сервис не поднялся — причина здесь

Откат

sudo apt-get install -y --allow-downgrades ./tetra_<предыдущая версия>_linux_amd64.deb

Та же оговорка про схему базы: если версия её меняла — восстанавливайте базу из резервной копии.

Что не требует обновления сервера

Расширение обновляется отдельно и само — сервер скачивает новую сборку у TETRA, подписывает и раздаёт парку. Переустанавливать сервер для этого не нужно, см. Обновление сенсора.

Порядок при плановом обновлении

  1. Резервная копия базы + проверка, что файл .env (или config.yaml) сохранён отдельно.
  2. Обновление в нерабочее время: во время перезапуска события от сенсоров не принимаются. Сотрудники при этом остаются защищёнными — сенсоры продолжают работать по кэшированной политике, но события за время простоя не сохранятся.
  3. После старта — проверить версию, логи, и что в разделе «События» появляются новые записи.