> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axottle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Обновление Remnawave

> Как обновить панель Remnawave из Axottle: требование рабочего бэкапа, выбор версии, порядок шагов и откат при неудаче.

Обновить панель Remnawave можно из Axottle, не заходя на сервер. Карточка **Версия панели** живёт в разделе **Подключения**, на вкладке состояния подключения.

<Info>Для кого: администратор панели. Требуемые права: администратор панели. Лицензия: тот же ключ, что и у резервных копий Remnawave.</Info>

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

Remnawave прогоняет миграции базы при первом запуске нового образа. После этого старый образ её схему уже не прочитает, то есть обновление — дверь в одну сторону. Единственный путь назад — дамп, снятый до переключения.

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

Список препятствий и есть содержимое карточки: на панели без бэкапов «обновлять нельзя» — обычное состояние, и оператор должен видеть, что именно поправить. Что карточка может сказать:

* у подключения не настроен профиль бэкапа Remnawave;
* профиль настроен, но ни один бэкап ещё не выполнялся успешно;
* у панели Remnawave не найден compose-файл, а обновление меняет именно его;
* панель Remnawave не обнаружена: без доступа к её стеку обновлять нечего.

Проще всего закрыть первые два пункта в разделе бэкапов: настроить профиль и один раз прогнать его вручную.

## Выбор версии

Список — последние пять версий из реестра, и только фиксированные. Плавающие теги (`latest`, `dev`, голый мажор) в него не попадают: пин на такой тег и есть та причина, по которой 3.0.0 однажды приехала незаметно и сломала установку.

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

<Note>
  Версию Remnawave спрашивает и установщик Axottle при первой установке, из того же списка. Недоступный реестр или неинтерактивный запуск приводят к версии по умолчанию, а не к остановке установки.
</Note>

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

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

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

<Steps>
  <Step title="Бэкап">
    Снимается свежий дамп Remnawave выбранным профилем.
  </Step>

  <Step title="Проверка бэкапа">
    Дамп проверяется. Непроверяемый бэкап останавливает обновление: он существует ровно для того, чтобы из него восстанавливаться.
  </Step>

  <Step title="Смена версии">
    В compose-файле правится тег образа, образ скачивается, стек пересоздаётся. Пока идут первые шаги, старая панель продолжает работать.
  </Step>

  <Step title="Подтверждение">
    Панель должна ответить и назвать ту версию, которую просили. Ответ со старой версией считается неудачей обновления, а не затянувшимся стартом.
  </Step>
</Steps>

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

## Откат

Откат бывает двух видов, и разница принципиальна.

**Не скачался образ.** Ничего не запускалось, база не тронута, поэтому возвращается только compose-файл. Восстанавливать базу здесь значило бы потерять данные ни за что.

**Упало пересоздание или панель не подтвердила версию.** Новый образ мог успеть прогнать миграции, поэтому возвращается и файл, и база из бэкапа, снятого на первом шаге.

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

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

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

Слишком старый агент откажется от задачи обновления с внятным сообщением — обновите агент на этой ноде.

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

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

## Проверка

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

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

<AccordionGroup>
  <Accordion title="Кнопка обновления неактивна">
    Смотрите список препятствий в карточке: почти всегда дело в бэкапах. Настройте профиль в разделе бэкапов и прогоните его один раз вручную.
  </Accordion>

  <Accordion title="Обновление остановилось на проверке бэкапа">
    Дамп снялся, но прочитать его не удалось. Проверьте место на диске и доступ к хранилищу бэкапов, затем повторите.
  </Accordion>

  <Accordion title="Панель после обновления отвечает старой версией">
    Обновление засчитано неудачным, и панель вернулась на прежнюю версию с восстановлением базы. Проверьте, не переопределён ли тег образа где-то ещё в compose-файле.
  </Accordion>
</AccordionGroup>

Связанные страницы: [Резервные копии Remnawave](/ru/remnawave/backups), [Интеграция с Remnawave](/ru/remnawave/overview), [Обновления панели](/ru/operations/updates).
