Если вы по какой то причине застряли на версии 2.8.1 ( на данный момент скрипт от eGames ставит именно эту версии панели) то
у вас будет работать панель, но, не будут работать ноды. Обновить панель вы можете в ручную. Данный гайд актуален ровно до того момента пока разработчики eGames не обновят свой скрипт и он снова будет ставить последние версии автоматически!
Шаг 1 : Делаем бэкап
ОБЯЗАТЕЛЬНО! сделайте бэкап!
Как делать бэкапы мы ранее рассмотрели в этой статье https://remna.xyz/threads/remnawave-backup-and-restore.9/#post-35
Так же на канале есть видео на эту тему :
Шаг 2 : Обновляем образ панели
Откройте файл конфигурации панели:
Найдите строку с образом: image: remnawave/backend:2
Замените 2 на 3 , должно получится : image: remnawave/backend:3
Сохраните файл (Ctrl+S) и закройте (Ctrl+X).
Шаг 3 : Мигрируем переменные окружения (.env)
Откройте файл конфига .env :
- Переименуйте секрет авторизации:
Найдите строку JWT_AUTH_SECRET=...
Измените название переменной на APP_SECRET
Само значение после знака = НЕ ТРОГАЙТЕ!!
- Далее - удалите устаревшие переменные v2:
Найдите и полностью удалите (сотрите) следующие 4 строки, если они у вас есть:
(В 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:
В самом начале файла найдите строку:
Сразу после неё вставьте следующий блок:

- Сохраните и закройте файл.
- Перед перезапуском обязательно убедитесь, что Nginx понимает новый конфиг и вы не допустили опечатку:
Если контейнер Nginx сейчас запущен:
Если контейнер Nginx остановлен:
Ожидаемый результат:
Шаг 5 : Запуск новой версии панели
- Скачайте новый образ:
- Перезапустите контейнеры:
Дождитесь применения миграций (около 1-2 минут). Посмотреть процесс/логи можно командой:
Шаг 6 : Обновление нод (Remnanode)
- Подключитесь по SSH к серверу, где установлена нода. Перейдите в папку ноды:
- Скачайте свежий образ:
- Перезапустите ноду:
Проверьте статус контейнера на сервере:
Статус должен быть Up или Up (healthy).
Всё, нода должна подрубится к новой версии панели. Повторить на каждой своей ноде.
Если что-то пошло критически не так и панель не поднимается:
у вас будет работать панель, но, не будут работать ноды. Обновить панель вы можете в ручную. Данный гайд актуален ровно до того момента пока разработчики 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;
Сразу после неё вставьте следующий блок:

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).
Всё, нода должна подрубится к новой версии панели. Повторить на каждой своей ноде.
Аварийный откат
Если что-то пошло критически не так и панель не поднимается:- Остановите контейнеры: cd /opt/remnawave && docker compose down
- Восстановите файлы из бэкапа, который вы сделали на Шаге 0 (обратитесь к README скрипта distillium/remnawave-backup-restore за командой restore).
- Запустите: docker compose up -d
Последнее редактирование модератором:
