# 🚀 Запуск Update Server в Docker ## Быстрый старт ```bash # 1. Запустите контейнер docker-compose up -d # 2. Проверьте статус docker-compose ps # 3. Откройте веб-панель # http://localhost:8000/admin/ ``` ## 📦 Загрузка APK файлов ### После сборки приложения: ```bash # 1. Соберите APK flutter build apk --release # 2. Скопируйте в контейнер docker cp build/app/outputs/flutter-apk/app-release.apk \ umbrix-update-server:/var/www/downloads/android/umbrix-1.7.1.apk # 3. Проверьте что файл загружен docker exec umbrix-update-server ls -lh /var/www/downloads/android/ # 4. Обновите latest.json через веб-панель # http://localhost:8000/admin/ ``` ## 🔧 Управление контейнером ```bash # Запустить docker-compose up -d # Остановить docker-compose down # Перезапустить docker-compose restart # Посмотреть логи docker-compose logs -f # Остановить с удалением volumes (осторожно!) docker-compose down -v ``` ## 📂 Структура volumes ``` umbrix-downloads/ # APK файлы (persistent) ├── android/ ├── windows/ ├── ios/ ├── linux/ └── macos/ umbrix-logs/ # Логи сервера ├── access.log ├── admin.log └── restore.log ``` ## 🌐 URL для latest.json После запуска в Docker, обновите константы: ```dart // lib/core/model/constants.dart static const customUpdateServerUrl = "https://api.umbrix.net/api.php"; ``` И в latest.json используйте: ```json { "download_url": "https://api.umbrix.net/downloads/android/umbrix-1.7.1.apk" } ``` ## 🔒 Production настройки Для продакшена добавьте Nginx: ```yaml services: nginx: image: nginx:alpine ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./ssl:/etc/nginx/ssl - umbrix-downloads:/var/www/downloads:ro depends_on: - update-server ``` ## 💾 Backup ```bash # Создать backup docker run --rm \ -v umbrix-downloads:/data \ -v $(pwd):/backup \ alpine tar czf /backup/downloads-backup-$(date +%Y%m%d).tar.gz /data # Восстановить backup docker run --rm \ -v umbrix-downloads:/data \ -v $(pwd):/backup \ alpine tar xzf /backup/downloads-backup-YYYYMMDD.tar.gz -C / ``` ## 🐛 Отладка ```bash # Войти в контейнер docker exec -it umbrix-update-server sh # Проверить PHP docker exec umbrix-update-server php -v # Проверить файлы docker exec umbrix-update-server ls -la /var/www/downloads/android/ # Проверить latest.json docker exec umbrix-update-server cat /var/www/latest.json # Проверить логи docker exec umbrix-update-server tail -f /var/www/logs/access.log ```