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

Обновления

Панель раз в день проверяет, вышел ли новый релиз, и показывает, что изменилось. Обновления делает программа mikan на хосте: сама панель Docker не трогает.

  • Кнопкой: Настройки → Основное → Обновления → Обновить до X. Если сервер не возьмёт задачу за 2 минуты, панель предложит выполнить mikan update вручную.
  • Автоматически: переключатель «Обновлять автоматически». Раз в сутки ночью (в 3:00 плюс случайная задержка до трёх часов) сначала бэкап, а если новая версия не запустится, возврат к текущей.
  • Командой на сервере:
mikan update # обновить сейчас
mikan update --check # только проверить, есть ли новая версия
mikan status # контейнеры, версии, доступное обновление

В той же карточке переключатель «Ноды следуют за панелью», см. Ноды.

Переключатель Бета-версии добавляет кандидаты в релиз. В них могут быть ошибки, на рабочем сервере включайте осознанно.

  1. Бэкап. Если он не удался, обновление не начнётся.
  2. Остановка панели, финальный снимок базы, запуск нового образа.
  3. Миграция базы.
  4. Проверка, что новая версия поднялась.

Если новая версия не поднялась, а схема базы не менялась, панель сама возвращается на прежнюю версию. Если схема уже обновилась, панель остаётся остановленной с сохранёнными данными, а сообщение подскажет путь к бэкапу: повторите mikan update. Нода всегда откатывается сама. Сервер никогда не ставит версию старее текущей.

Серверы читают подписанный список релизов, а не «latest» на GitHub. У каждого релиза подписанный манифест, его подпись проверяет ключ, вшитый в установщик, а хеш бинарника сверяется. Если до нужной версии нельзя дойти напрямую, сервер сам пройдёт через промежуточные.

С версии 0.5 панель работает на PostgreSQL. Обновление само переносит все данные: ссылки подписок, ключи VPN, ID пользователей, счётчики, платежи и настройки не меняются. Перед этим делается бэкап, а старая база SQLite остаётся на диске.

Если перенос не удался, панель остаётся остановленной, обе базы сохраняются. Запустите обновление ещё раз.

С версии 0.5 номера версий состоят из четырёх чисел: major.minor.patch.revision.