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


Панель с её собственной страницы
Раз в день панель проверяет, нет ли нового выпуска, и показывает баннер, если он есть. Настройки → Обновление панели показывает установленную версию, новейший выпуск, способ установки этой панели и описание выпуска.
При установке скриптом Обновить сейчас выполняет всё обновление:
- Резервная копия базы в ваш каталог резервных копий.
- Загрузка выпуска.
- Проверка по опубликованной с ним контрольной сумме и пробный запуск, чтобы убедиться, что он стартует на этом сервере.
- Установка, при которой старый бинарный файл сохраняется как
/opt/nexora-panel/nexora-panel.previous. - Перезапуск. Вы остаётесь в системе. Панель недоступна несколько секунд, и страница сообщает, когда она вернулась.
Если новая сборка не поднимается, примерно за десять секунд автоматически возвращается прежний бинарный файл, а страница показывает Откат.
База данных не откатывается
Изменения базы идут только вперёд. Если после обновления что-то не так, путь назад — резервная копия из шага 1: восстановите её в Настройки → Резервная копия (см. Резервное копирование и восстановление).
Ежедневно проверять выпуски выключает ежедневную проверку. Это один запрос в день к публичному репозиторию панели, который узнаёт адрес вашего сервера. Кнопка проверки работает и при выключенной проверке.
Панель из командной строки
Запустите установщик ещё раз. Он найдёт существующую установку и обновит её на месте:
bash <(curl -fsSL https://raw.githubusercontent.com/nexora-vpn/panel/main/install.sh)Он останавливает службу, копирует базу SQLite в nexora.db.bak, сохраняет прежний бинарный файл, обновляет базу и запускает службу снова. Ваши настройки и учётные записи администраторов не затрагиваются. С PostgreSQL сначала сделайте дамп базы сами.
Панель в Docker
Контейнер не может заменить собственный образ, и страница «Обновление панели» об этом сообщает. В каталоге с файлом compose:
docker compose pull && docker compose up -dУзлы
Раздел Узлы на странице Обновление панели показывает новейший выпуск узла и сколько узлов от него отстаёт.
- Обновить все узлы обновляет узлы по очереди по SSH. Узел, для которого у панели нет разрешённого SSH-ключа, пропускается.
- Один узел: откройте у него окно Установка, перейдите на Автоматически (SSH) и нажмите Обновить. Панель загружает новый бинарный файл (или скачивает новый образ) и перезапускает узел.
- Вручную: снова выполните команду установки узла на его сервере. Она найдёт существующую установку, сохранит её конфигурацию и сертификаты и заменит только бинарный файл.
- Узел в Docker:
docker compose pull && docker compose up -d.
Обновление сохраняет сертификаты узла, поэтому панель по-прежнему его узнаёт и заново регистрировать ничего не нужно.
Панель загружает на узлы ту копию бинарного файла, которую хранит у себя (Загружено на эту панель). Когда эта копия старше новейшего выпуска узла, Скачать последний узел обновляет её, а обновление узла до этого момента берёт новейшую версию с GitHub.
Во время обновления
Пока панель перезапускается, узел продолжает работать: обновление панели ни у кого не обрывает соединение. Узел, который три минуты не может связаться со своей панелью, перестаёт обслуживать, пока панель не вернётся, поэтому не оставляйте панель выключенной надолго.
