Full bilingual documentation for XC_VM has been added with Docsify SPA and the outdated database migration has been replaced. ## Docsify - docs/index.html — SPA entry point: en-us/ru-ru routing, search, syntax highlighting (bash, PHP, SQL, nginx, JSON) ## EN Documentation - docs/en/info/faq.md — FAQ (12 questions: streams, access, database, SSL, updates, permissions) - docs/en/info/migration_guide.md — migration guide from other systems - docs/en/info/update.md — step-by-step update via the web panel - docs/en/info/watch_folder.md — Watch Folder: workflow, PTN/guessit parsers, configuration - docs/en/updates_checklist.md — release preparation checklist ## RU Documentation (fully localized) - docs/ru/README.md — Main Page - docs/ru/_sidebar.md — Sidebar Navigation - docs/ru/administration/ssl-generation.md — Self-Signed SSL Generation - docs/ru/administration/update-system.md — Update Mechanism (PHP → Python → Post-Update) - docs/ru/api/playlist.md — Playlist API with Error Codes - docs/ru/api/system_api.md — System API (13 endpoints) - docs/ru/api/xtreamcodes_api.md — XtreamCodes API (Authorization, Live, VOD, TV Series, EPG) - docs/ru/builds/build_binaries.md — nginx build, nginx_rtmp, PHP-FPM, network - docs/ru/builds/build_ffmpeg.md — Building FFmpeg 8.0 with NVENC/CUDA - docs/ru/builds/build_system.md — MAIN vs. LB build system - docs/ru/development/cli-tools.md — CLI: 26 commands, 25 crons, 8 daemons, database migrations - docs/ru/info/faq.md — FAQ (12 questions) - docs/ru/info/migration_guide.md — Migration guide - docs/ru/info/update.md — Updating via the control panel - docs/ru/info/watch_folder.md — Watch Folder - docs/ru/updates_checklist.md — Release checklist ## Migrations - Removed: 001_drop_watch_folders_plex_token.sql (Deprecated) - Added: 001_update_crontab_filenames.sql — removes the .php suffix from filenames in the crontab table (switches to console.php commands)
8.6 KiB
🧭 Руководство по миграции XC_VM
Безопасная миграция с совместимых IPTV-систем с использованием встроенных инструментов миграции XC_VM.
📚 Навигация
- ⚠️ Критическое уведомление о миграции
- ⚙️ Перед началом
- 🚀 Шаги миграции
- 🔑 Восстановление доступа после миграции
- 🖥️ Подготовка балансировщиков нагрузки
- 🧩 Действия после миграции (обязательно)
- ❗ Распространённые проблемы после миграции
- ✅ Итог
⚠️ Критическое уведомление о миграции
Обязательно прочитайте перед началом миграции.
Миграция XC_VM переносит только данные. Вся конфигурация намеренно исключена из процесса миграции.
Это включает (но не ограничивается):
- API-ключи (например, TMDb)
- Учётные данные внешних сервисов
- Настройки, зависящие от окружения
- Конфигурацию панели и системы
- Состояние выполнения и состояние стримов
Все эти значения необходимо настроить вручную после миграции.
Это осознанное архитектурное решение, а не ограничение и не ошибка. Пропуск повторной настройки приведёт к неработающему получению метаданных, обновлению названий стримов и другим связанным функциям.
⚙️ Перед началом
💡 Рекомендация: Выполняйте миграцию на чистой установке XC_VM.
⚠️ Важно: Системные настройки и настройки панели НЕ переносятся. Переносятся только данные базы, поддерживаемые механизмом миграции.
Если вы выполняете миграцию в существующую установку, учтите следующее:
- XC_VM удалит все таблицы в основной базе данных, совпадающие с данными из базы миграции.
- Резервные копии обязательны. Автоматического отката не предусмотрено.
🚀 Шаги миграции
1. Загрузка бэкапа
Загрузите резервную копию существующей базы данных на сервер XC_VM с помощью SFTP.
Пример пути:
/tmp/backup.sql
2. Восстановление бэкапа в базу миграции
Очистите базу миграции и восстановите бэкап:
sudo /home/xc_vm/bin/php/bin/php /home/xc_vm/console.php tools migration "/tmp/backup.sql"
Перед продолжением убедитесь, что восстановление завершилось без ошибок.
3. Запуск миграции
После успешного восстановления запустите миграцию одним из следующих способов.
🧩 Вариант 1 — Командная строка (рекомендуется)
/home/xc_vm/bin/php/bin/php /home/xc_vm/console.php migrate
🌐 Вариант 2 — Веб-установщик
- Вернитесь в веб-установщик (ссылка отображается при настройке панели)
- Выберите пункт Migration
- Следуйте инструкциям на экране
Вы будете видеть прогресс миграции в реальном времени. После завершения система станет доступной.
🔑 Восстановление доступа после миграции
Если вход невозможен из-за отсутствующих учётных данных или кода доступа, используйте rescue-инструменты.
Создание резервного кода доступа
/home/xc_vm/tools access
Создание администратора
/home/xc_vm/tools user
⚠️ После восстановления доступа немедленно смените код доступа и учётные данные администратора.
🖥️ Подготовка балансировщиков нагрузки
Балансировщики нагрузки не переносятся.
- При необходимости переустановите операционную систему
- Перенастройте сеть и маршрутизацию
- Подключите их заново к основному серверу
🧩 Действия после миграции (обязательно)
После миграции система не готова к продакшену, пока не выполнены следующие шаги.
Пропуск этих действий приведёт к ожидаемому, но неработающему поведению.
1. Инициализация состояния выполнения
- Запустите все стримы вручную
- Убедитесь, что стримы доступны и работают стабильно
Состояние выполнения стримов никогда не сохраняется при миграции.
2. Повторная настройка системы
Проверьте и восстановите все настройки, зависящие от окружения:
- Пути к файлам
- Лимиты и квоты
- Сетевые настройки и reverse proxy
- Параметры производительности
Не предполагается, что значения по умолчанию совпадают с вашей прежней конфигурацией. Значения по умолчанию применяются намеренно.
3. Восстановление API-ключей и провайдеров
API-ключи никогда не переносятся
Следующее необходимо настроить вручную:
- TMDb API key
Это ожидаемое поведение.
Если после миграции не загружаются метаданные, проверьте, что API-ключ добавлен заново и провайдер включён. Это не является ошибкой миграции.
❗ Распространённые проблемы после миграции
Метаданные не загружаются (TMDb)
Причина: API-ключ TMDb и конфигурация провайдера не были восстановлены.
Решение: Повторно добавьте API-ключ TMDb и включите провайдер в настройках основного сервера.
✅ Итог
- Миграция переносит только основные данные приложения
- Конфигурация исключена намеренно
- API-ключи и настройки окружения должны быть восстановлены вручную
- Отсутствие функциональности после миграции ожидаемо до завершения повторной настройки