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

Обновления и проверка здоровья

Каждый релиз публикует образ с номером версии в ghcr.io/sm-steel/nani-pix-bot. Что изменилось — на странице Releases или здесь, в разделе Что нового.

Как выкатывать обновления — решать вам. Подойдёт любой вариант:

  • docker compose pull && docker compose up -d
  • небольшой скрипт или свой CI/CD
  • инструмент вроде Watchtower

Nani Pix сама обновляет базу данных при каждом запуске, так что о миграциях помнить не нужно.

Перезапускать и обновлять Nani Pix можно в любой момент, даже посреди раунда. Всё, чего ждёт игра (таймеры этапов, напоминания, окна очереди, открытое голосование), хранится в базе данных и подхватывается при запуске. Если что-то должно было случиться, пока Nani Pix была выключена, это произойдёт сразу после запуска.

У контейнера Nani Pix есть проверка здоровья, которая следит за успешной связью с Telegram: если Nani Pix перестала получать обновления, хотя процесс ещё жив, контейнер помечается как нездоровый. Docker проверяет это каждые 30 секунд и помечает контейнер нездоровым, если три проверки подряд не видят связи с Telegram дольше 90 секунд.

restart: unless-stopped в docker-compose.yml и так восстанавливает работу после большинства сбоев. А для тех, кто запускает наблюдатель вроде docker-autoheal, который перезапускает нездоровые контейнеры, у сервиса bot есть метки autoheal. Без такого наблюдателя эти метки ни на что не влияют.