Skip to main content
Обновить панель Remnawave можно из Axottle, не заходя на сервер. Карточка Версия панели живёт в разделе Подключения, на вкладке состояния подключения.
Для кого: администратор панели. Требуемые права: администратор панели. Лицензия: тот же ключ, что и у резервных копий Remnawave.

Почему без бэкапа нельзя

Remnawave прогоняет миграции базы при первом запуске нового образа. После этого старый образ её схему уже не прочитает, то есть обновление — дверь в одну сторону. Единственный путь назад — дамп, снятый до переключения. Поэтому бэкап не предварительное условие, о котором оператора спрашивают, а часть обновления: свежий дамп снимается и проверяется прямо в прогоне. Обновление не начнётся, пока не доказано, что бэкапы у этого подключения реально работают. Список препятствий и есть содержимое карточки: на панели без бэкапов «обновлять нельзя» — обычное состояние, и оператор должен видеть, что именно поправить. Что карточка может сказать:
  • у подключения не настроен профиль бэкапа Remnawave;
  • профиль настроен, но ни один бэкап ещё не выполнялся успешно;
  • у панели Remnawave не найден compose-файл, а обновление меняет именно его;
  • панель Remnawave не обнаружена: без доступа к её стеку обновлять нечего.
Проще всего закрыть первые два пункта в разделе бэкапов: настроить профиль и один раз прогнать его вручную.

Выбор версии

Список — последние пять версий из реестра, и только фиксированные. Плавающие теги (latest, dev, голый мажор) в него не попадают: пин на такой тег и есть та причина, по которой 3.0.0 однажды приехала незаметно и сломала установку. Версии не новее текущей в списке выключены. Понижение запрещено осознанно: база уже мигрировала вперёд, и честный путь назад — восстановление бэкапа, а это другая операция с другим подтверждением.
Версию Remnawave спрашивает и установщик Axottle при первой установке, из того же списка. Недоступный реестр или неинтерактивный запуск приводят к версии по умолчанию, а не к остановке установки.

Подтверждение

Кнопка обновления открывает диалог, который перечисляет последствия по пунктам: снимется бэкап, панель перезапустится и подписки на несколько минут станут недоступны, база обновится, а при неудаче версия и база вернутся из этого же бэкапа. Галочка подтверждает именно перезапуск и миграцию базы.

Порядок шагов

1

Бэкап

Снимается свежий дамп Remnawave выбранным профилем.
2

Проверка бэкапа

Дамп проверяется. Непроверяемый бэкап останавливает обновление: он существует ровно для того, чтобы из него восстанавливаться.
3

Смена версии

В compose-файле правится тег образа, образ скачивается, стек пересоздаётся. Пока идут первые шаги, старая панель продолжает работать.
4

Подтверждение

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

Откат

Откат бывает двух видов, и разница принципиальна. Не скачался образ. Ничего не запускалось, база не тронута, поэтому возвращается только compose-файл. Восстанавливать базу здесь значило бы потерять данные ни за что. Упало пересоздание или панель не подтвердила версию. Новый образ мог успеть прогнать миграции, поэтому возвращается и файл, и база из бэкапа, снятого на первом шаге. Если не удался и откат, сообщение называет номер бэкапа для ручного восстановления. Это тот текст, который читают в худший момент, поэтому в нём есть всё нужное.

Remnawave на отдельном сервере

Обновление работает и когда Remnawave стоит не на сервере панели. Смену образа и пересоздание выполняет агент, установленный на той машине; бэкап, его проверка, подтверждение версии и восстановление базы остаются за панелью в обоих случаях. Требование рабочего бэкапа тоже не слабеет от того, где стоит панель. Слишком старый агент откажется от задачи обновления с внятным сообщением — обновите агент на этой ноде.

Совместимость 2.x и 3.x

Axottle работает с обеими ветками Remnawave: версия панели определяется по её ответу, и клиент подстраивается сам. Установщик ставит третий мажор, переезд с чужой панели переносит версию исходной.

Проверка

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

Типовые ошибки

Смотрите список препятствий в карточке: почти всегда дело в бэкапах. Настройте профиль в разделе бэкапов и прогоните его один раз вручную.
Дамп снялся, но прочитать его не удалось. Проверьте место на диске и доступ к хранилищу бэкапов, затем повторите.
Обновление засчитано неудачным, и панель вернулась на прежнюю версию с восстановлением базы. Проверьте, не переопределён ли тег образа где-то ещё в compose-файле.
Связанные страницы: Резервные копии Remnawave, Интеграция с Remnawave, Обновления панели.