Обновления, бэкапы и переезд
Как обновлять Reefox Panel, сохранять базу, переезжать на другой сервер и временно закрывать сервис на техработы.
Обновления
Когда выходит новая версия, ваш бот присылает сообщение «🆕 Доступна версия …» со списком изменений и кнопкой «🔄 Обновить до …». Такая же плашка с кнопкой «Обновить» появляется вверху админки.
Что происходит после нажатия:
- обновление занимает 2–3 минуты. Бот и кабинет ненадолго перезапустятся, VPN у клиентов не прерывается;
- по окончании бот напишет «✅ Обновлено до …»;
- если новая версия не запустилась, вернётся прежняя, и бот сообщит «⚠️ Обновление до … не удалось». Отчёт об ошибке уйдёт разработчику автоматически.
Перед обновлением сделайте бэкап базы
Обновление само сохраняет только номер прежней версии. Если новая версия изменит структуру базы, а потом случится откат, база останется в новом виде. Сделайте бэкап по инструкции ниже, это одна команда.
Обновления доступны, пока лицензия активна. На тарифе «Исходник» — год с момента покупки.
Обновить вручную по SSH:
sudo TMAVPN_UPDATE_FORCE=true /opt/tmavpn/app/deploy/tmavpn-updater.shБэкапы
Проще всего — встроенные резервные копии
В Настройки → Резервные копии панель сама делает зашифрованную копию базы по расписанию и отправляет её вам в Telegram и в S3-хранилище. Включите это в день запуска — подробно в справочнике Резервные копии. Ниже — ручной способ, если нужна ещё и копия файлов на своём компьютере.
Сохранять нужно три вещи:
- базу данных — клиенты, подписки, платежи, настройки;
- файл
/opt/tmavpn/app/.env— пароли, ключ лицензии и домен. Без него сервис из бэкапа не поднять; - папку
/opt/tmavpn/app/data— служебные файлы, в том числе привязка лицензии.
Ежедневный бэкап
Создайте скрипт:
cat > /root/tmavpn-backup.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
dir=/root/tmavpn-backups
mkdir -p "$dir"
stamp=$(date +%F-%H%M)
docker exec vpn-postgres pg_dump -U vpn -d vpn_db -Fc > "$dir/db-$stamp.dump"
tar -czf "$dir/files-$stamp.tar.gz" -C /opt/tmavpn/app .env data
find "$dir" -type f -mtime +14 -delete
EOF
chmod 700 /root/tmavpn-backup.shПроверьте, что он работает. В папке должны появиться два файла:
/root/tmavpn-backup.sh && ls -lh /root/tmavpn-backupsВключите запуск каждую ночь в 3:30 по времени сервера:
(crontab -l 2>/dev/null; echo "30 3 * * * /root/tmavpn-backup.sh") | crontab -Скрипт хранит бэкапы 14 дней. Копируйте их с сервера хотя бы раз в неделю: если пропадёт сервер, вместе с ним пропадут и бэкапы на нём. С вашего компьютера это делается так:
scp -r root@203.0.113.10:/root/tmavpn-backups ./tmavpn-backups
Выгрузка в CSV — не бэкап
В Настройки → База данных можно скачать пользователей, платежи и ключи в CSV. Это удобно для отчётов, но восстановить из CSV сервис нельзя. Храните такие файлы бережно: в выгрузке ключей есть ссылки подписок клиентов.
Если база внешняя
Если при установке вы выбрали свой PostgreSQL (вариант 2), делайте бэкап средствами своего сервера баз данных. Файл .env и папку data всё равно сохраняйте скриптом выше, убрав из него строку с pg_dump.
Восстановление
Приложение на время восстановления нужно остановить:
docker stop vpn-app
docker exec -i vpn-postgres pg_restore -U vpn -d vpn_db --clean --if-exists --no-owner < /root/tmavpn-backups/db-2026-09-27-0330.dump
docker start vpn-appПодставьте имя своего файла. Через минуту проверьте https://ваш-домен/health и админку.
Переезд на новый сервер
Используйте встроенный перенос: Настройки → Перенос сервера. Он переносит Reefox Panel, базу, настройки, загрузки, сертификаты и привязку лицензии. Старый сервер продолжает работать, пока вы сами не подтвердите переключение.

Возьмите чистый VPS на Ubuntu или Debian с той же архитектурой процессора и доступом root по SSH.
Если панели 3x-ui пускают только разрешённые IP, заранее добавьте туда IP нового сервера.
Введите адрес нового сервера и SSH-доступ, нажмите «Проверить сервер». Система проверит ОС, место на дисках и Docker.
Подтвердите отпечаток SSH-ключа нового сервера. Начнётся подготовка и пробное восстановление базы, клиенты этого не заметят.
Нажмите «Переключить на новый сервер».
Смените A-запись домена на IP нового сервера и проверьте админку и Mini App.
Старый сервер не удаляйте хотя бы сутки.
VPN-серверы и панели 3x-ui не переносятся и не меняются: связи с ними сохраняются.
Логи
- Настройки → Логи: «Действия» — кто из администраторов что менял, хранятся 90 дней. «Системные» — предупреждения и ошибки приложения за 2 дня.
- На сервере:
docker logs vpn-app --tail 200.
Режим техработ
Настройки → Тех. работы временно закрывает сервис для клиентов, например на время переезда.

Пока режим включён:
- бот на любое сообщение отвечает вашим текстом о техработах;
- Mini App и кабинет показывают страницу обслуживания, новые оплаты не создаются;
- VPN-приложения клиентов не могут обновить подписку. Уже подключённый VPN продолжает работать;
- новые люди, которые нажали /start, не регистрируются. Если они пришли по реферальной или рекламной ссылке, метка потеряется;
- админка и уведомления платёжных провайдеров работают как обычно.
Держите режим включённым как можно меньше и не забудьте выключить.
Дальше — если что-то не работает.