Files
umbrix/DOCKER_QUICKSTART.md

139 lines
3.0 KiB
Markdown
Raw Normal View History

# 🚀 Запуск 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
```