Обновление панели с версии 2.8 до 3.x.x

Статус
Закрыто для дальнейших ответов.

Remna

Administrator
Команда форума
Если вы по какой то причине застряли на версии 2.8.1 ( на данный момент скрипт от eGames ставит именно эту версии панели) то
у вас будет работать панель, но, не будут работать ноды. Обновить панель вы можете в ручную. Данный гайд актуален ровно до того момента пока разработчики eGames не обновят свой скрипт и он снова будет ставить последние версии автоматически!

⚠️ Внимание! Все указанные в гайде действия вы производите под свой страх и риск, не копируйте в терминал бездумно команды если не понимаете что они делают!

Шаг 1 : Делаем бэкап
ОБЯЗАТЕЛЬНО! сделайте бэкап!
Как делать бэкапы мы ранее рассмотрели в этой статье https://remna.xyz/threads/remnawave-backup-and-restore.9/#post-35
Так же на канале есть видео на эту тему :

⚠️ Внимание! Не приступайте к остальным шагам если не сделали бэкап панели, вы можете потерять все свои данные!

Шаг 2 : Обновляем образ панели

Откройте файл конфигурации панели:


Bash:
nano /opt/remnawave/docker-compose.yml


Найдите строку с образом: image: remnawave/backend:2
Замените 2 на 3 , должно получится : image: remnawave/backend:3
Сохраните файл (Ctrl+S) и закройте (Ctrl+X).


Шаг 3 : Мигрируем переменные окружения (.env)

Откройте файл конфига .env :

Bash:
nano /opt/remnawave/.env


- Переименуйте секрет авторизации:
Найдите строку JWT_AUTH_SECRET=...
Измените название переменной на APP_SECRET
Само значение после знака = НЕ ТРОГАЙТЕ!!

# Было:
JWT_AUTH_SECRET=ваш_длинный_секрет
# Стало:
APP_SECRET=ваш_длинный_секрет

- Далее - удалите устаревшие переменные v2:
Найдите и полностью удалите (сотрите) следующие 4 строки, если они у вас есть:

JWT_API_TOKENS_SECRET=...
SWAGGER_PATH=/docs
SCALAR_PATH=/scalar
IS_DOCS_ENABLED=false


(В v3 они больше не используются, а старые API-токены панель автоматически мигрирует в новый формат при первом запуске, ничего пересоздавать не нужно).

Шаг 4 : Настраиваем сжатие трафика в Nginx (Gzip)

В версии v2 панель сжимала трафик (gzip) своими силами (внутри Node.js). В v3 разработчики убрали эту нагрузку с бэкенда, чтобы сэкономить ресурсы CPU и RAM, переложив задачу на реверс-прокси (Nginx). Модуль ngx_http_gzip_module в Nginx отвечает за сжатие ответов сервера методом gzip перед их отправкой клиенту.Сжимает текстовые ответы (JS, CSS, JSON, HTML, WASM) перед отправкой rклиентам.

Добавляем Gzip:

Откройте конфиг Nginx:
Bash:
nano /opt/remnawave/nginx.conf


В самом начале файла найдите строку:

server_names_hash_bucket_size 64;

Сразу после неё вставьте следующий блок:

1787462863216.png

Bash:
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 1024;
gzip_types
    application/javascript
    application/json
    application/manifest+json
    application/xml
    application/wasm
    font/opentype
    font/eot
    font/otf
    font/ttf
    image/svg+xml
    text/css
    text/javascript
    text/plain
    text/xml;

- Сохраните и закройте файл.

- Перед перезапуском обязательно убедитесь, что Nginx понимает новый конфиг и вы не допустили опечатку:

Если контейнер Nginx сейчас запущен:

Bash:
docker exec remnawave-nginx nginx -t


Если контейнер Nginx остановлен:
Bash:
cd /opt/remnawave && docker compose run --rm remnawave-nginx nginx -t

Ожидаемый результат:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Шаг 5 : Запуск новой версии панели

- Скачайте новый образ:

Bash:
cd /opt/remnawave && docker compose pull remnawave

- Перезапустите контейнеры:

Bash:
docker compose down && docker compose up -d

Дождитесь применения миграций (около 1-2 минут). Посмотреть процесс/логи можно командой:

Bash:
docker compose logs -f remnawave

Шаг 6 : Обновление нод (Remnanode)

⚠️ Внимание! Обновлять ноды нужно если у вас изначально была СТАРАЯ версия панели и Remnanode!!!! Если вы установили скриптом и ноды и панель, ваши ноды УЖЕ последней версии!!!

- Подключитесь по SSH к серверу, где установлена нода. Перейдите в папку ноды:
Bash:
cd /opt/remnanode



- Скачайте свежий образ:
Bash:
docker compose pull


- Перезапустите ноду:
Bash:
docker compose down && docker compose up -d



Проверьте статус контейнера на сервере:
Bash:
docker compose ps


Статус должен быть Up или Up (healthy).

Всё, нода должна подрубится к новой версии панели. Повторить на каждой своей ноде.


🔙 Аварийный откат​

Если что-то пошло критически не так и панель не поднимается:
  1. Остановите контейнеры: cd /opt/remnawave && docker compose down
  2. Восстановите файлы из бэкапа, который вы сделали на Шаге 0 (обратитесь к README скрипта distillium/remnawave-backup-restore за командой restore).
  3. Запустите: docker compose up -d
 
Последнее редактирование модератором:
Статус
Закрыто для дальнейших ответов.
Верх