# 🚀 Настройка Собственного Сервера Обновлений ## ❓ Зачем это нужно? Если ваш GitHub репозиторий **приватный**, приложение не может проверять обновления через GitHub API. Решение - использовать собственный сервер для выкатки обновлений. --- ## 📂 Где документация? Вся документация находится в папке **`update-server/`** ### Быстрый старт: 👉 **[update-server/QUICK_START.md](update-server/QUICK_START.md)** - настройка за 5 минут ### Подробная инструкция: 👉 **[update-server/README.md](update-server/README.md)** - полное руководство ### Тестирование: 👉 **[update-server/TESTING.md](update-server/TESTING.md)** - как тестировать локально --- ## ⚙️ Что нужно сделать? ### Шаг 1: Настроить сервер ```bash # Загрузите эти файлы на хостинг: update-server/api.php # главный скрипт update-server/latest.json # информация о версии update-server/.htaccess # настройки ``` ### Шаг 2: Изменить код приложения Откройте `lib/core/model/constants.dart`: ```dart // Замените на адрес вашего сервера static const customUpdateServerUrl = "https://api.umbrix.net/api/latest"; // Включите собственный сервер static const useCustomUpdateServer = true; ``` ### Шаг 3: Пересобрать приложение ```bash flutter build apk --release ``` --- ## 🧪 Как протестировать локально? ```bash # Запустите тестовый сервер cd update-server ./start_test_server.sh # Сервер запустится на http://localhost:8000 # Для эмулятора используйте: http://10.0.2.2:8000/api.php ``` Затем: 1. Откройте приложение 2. Зайдите в **Настройки → О программе** 3. Нажмите **"Проверить обновления"** --- ## 📦 Как выкатить новое обновление? ### 🎨 Вариант 1: Через веб-панель (проще!) **Есть красивый веб-интерфейс для управления!** 1. **Откройте веб-панель:** ``` https://api.umbrix.net/admin/ ``` 2. **Заполните форму** (все поля с подсказками) 3. **Нажмите "Сохранить обновление"** 4. **Готово!** 🎉 📖 Подробнее: [update-server/admin/README.md](update-server/admin/README.md) --- ### 📝 Вариант 2: Вручную (классический способ) 1. **Соберите APK:** ```bash flutter build apk --release ``` 2. **Загрузите на сервер** в папку `downloads/` 3. **Обновите файл `latest.json`:** ```json { "version": "2.5.8", "download_url": "https://api.umbrix.net/downloads/umbrix-2.5.8.apk" } ``` 4. **Готово!** Пользователи получат уведомление об обновлении --- ## 🔧 Переключение между режимами ### Использовать GitHub (публичный репозиторий): ```dart static const useCustomUpdateServer = false; ``` ### Использовать собственный сервер (приватный): ```dart static const useCustomUpdateServer = true; ``` **⚠️ После изменения обязательно пересоберите приложение!** --- ## 📖 Структура файлов ``` update-server/ ├── INDEX.md ← Навигация по документации ├── README.md ← Полная инструкция ├── QUICK_START.md ← Быстрый старт ├── TESTING.md ← Тестирование │ ├── api.php ← Серверный скрипт ├── latest.json ← Информация о версии ├── .htaccess ← Настройки Apache └── start_test_server.sh ← Скрипт для тестирования ``` --- ## ✅ Готово! Теперь вы можете: - ✅ Выкатывать обновления без магазинов приложений - ✅ Контролировать процесс релизов - ✅ Работать с приватным репозиторием - ✅ Тестировать бета-версии --- ## 📞 Нужна помощь? Смотрите подробную документацию: - **[update-server/INDEX.md](update-server/INDEX.md)** - навигация - **[update-server/README.md](update-server/README.md)** - полное руководство - **[update-server/TESTING.md](update-server/TESTING.md)** - тестирование --- **🚀 Удачи с обновлениями!**