Skip to main content

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

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

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

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

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. После старта — проверить версию, логи, и что в разделе «События» появляются новые записи.