Skip to content

Обновление ​

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

Страница «Обновление панели»: установленная и новейшая версии, кнопка обновления и раздел узловСтраница «Обновление панели»: установленная и новейшая версии, кнопка обновления и раздел узлов

Панель с её собственной страницы ​

Раз в день панель проверяет, нет ли нового выпуска, и показывает баннер, если он есть. Настройки → Обновление панели показывает установленную версию, новейший выпуск, способ установки этой панели и описание выпуска.

При установке скриптом Обновить сейчас выполняет всё обновление:

  1. Резервная копия базы в ваш каталог резервных копий.
  2. Загрузка выпуска.
  3. Проверка по опубликованной с ним контрольной сумме и пробный запуск, чтобы убедиться, что он стартует на этом сервере.
  4. Установка, при которой старый бинарный файл сохраняется как /opt/nexora-panel/nexora-panel.previous.
  5. Перезапуск. Вы остаётесь в системе. Панель недоступна несколько секунд, и страница сообщает, когда она вернулась.

Если новая сборка не поднимается, примерно за десять секунд автоматически возвращается прежний бинарный файл, а страница показывает Откат.

База данных не откатывается

Изменения базы идут только вперёд. Если после обновления что-то не так, путь назад — резервная копия из шага 1: восстановите её в Настройки → Резервная копия (см. Резервное копирование и восстановление).

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

Панель из командной строки ​

Запустите установщик ещё раз. Он найдёт существующую установку и обновит её на месте:

bash
bash <(curl -fsSL https://raw.githubusercontent.com/nexora-vpn/panel/main/install.sh)

Он останавливает службу, копирует базу SQLite в nexora.db.bak, сохраняет прежний бинарный файл, обновляет базу и запускает службу снова. Ваши настройки и учётные записи администраторов не затрагиваются. С PostgreSQL сначала сделайте дамп базы сами.

Панель в Docker ​

Контейнер не может заменить собственный образ, и страница «Обновление панели» об этом сообщает. В каталоге с файлом compose:

bash
docker compose pull && docker compose up -d

Узлы ​

Раздел Узлы на странице Обновление панели показывает новейший выпуск узла и сколько узлов от него отстаёт.

  • Обновить все узлы обновляет узлы по очереди по SSH. Узел, для которого у панели нет разрешённого SSH-ключа, пропускается.
  • Один узел: откройте у него окно Установка, перейдите на Автоматически (SSH) и нажмите Обновить. Панель загружает новый бинарный файл (или скачивает новый образ) и перезапускает узел.
  • Вручную: снова выполните команду установки узла на его сервере. Она найдёт существующую установку, сохранит её конфигурацию и сертификаты и заменит только бинарный файл.
  • Узел в Docker: docker compose pull && docker compose up -d.

Обновление сохраняет сертификаты узла, поэтому панель по-прежнему его узнаёт и заново регистрировать ничего не нужно.

Панель загружает на узлы ту копию бинарного файла, которую хранит у себя (Загружено на эту панель). Когда эта копия старше новейшего выпуска узла, Скачать последний узел обновляет её, а обновление узла до этого момента берёт новейшую версию с GitHub.

Во время обновления ​

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

Текст и изображения — CC BY 4.0.