feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800) - Removed width condition for ActiveProxyFooter - now always visible - Added run-umbrix.sh launch script with icon copying - Stats cards now display on all screen sizes
This commit is contained in:
138
DOCKER_QUICKSTART.md
Normal file
138
DOCKER_QUICKSTART.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 🚀 Запуск 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
|
||||
```
|
||||
Reference in New Issue
Block a user