Files
umbrix/update-server/README_DESKTOP.md
Umbrix Developer 76a374950f 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
2026-01-17 13:09:20 +03:00

188 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🖥️ Сервер Обновлений Umbrix для Desktop Платформ
## 📋 Что это?
Система автоматических обновлений для **настольных версий** Umbrix (Windows, macOS, Linux).
> **⚠️ Важно:** Для Android используется Google Play Store. Этот сервер только для Desktop!
---
## 🎯 Как это работает?
```
┌──────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Desktop App │ -------> │ Ваш сервер │ <------- │ Вы загружаете│
│ Windows/Mac/ │ запрос │ (PHP API) │ файлы │ новую версию │
│ Linux │ │ │ │ .exe/.dmg │
└──────────────┘ └──────────────────┘ └─────────────┘
│ │
│ ответ JSON │
│ + скачивание │
с прогресс-баром │
└──────────────────────────>│
```
**Процесс:**
1. **Desktop приложение** проверяет сервер на наличие обновлений
2. **Сервер** возвращает информацию о последней версии
3. **Приложение** скачивает обновление с прогресс-баром
4. **Пользователь** запускает установщик
**Для Android:** Обновления через Google Play Store (автоматически)
---
## 📦 Требования
- **PHP 7.4+** с веб-сервером (Apache/Nginx) или встроенный сервер PHP
- Доступ к файловой системе для хранения файлов обновлений
- (Опционально) Docker для production деплоя
---
## 🚀 Быстрый старт
### 1. Локальный запуск (для разработки)
```bash
cd update-server
php -S localhost:8000
```
Откройте: http://localhost:8000/admin/
### 2. Загрузка файла обновления
```bash
# Windows
cp umbrix-1.7.3-setup.exe downloads/windows/
# macOS
cp umbrix-1.7.3.dmg downloads/macos/
# Linux
cp umbrix-1.7.3.AppImage downloads/linux/
```
### 3. Обновление версии через Web-панель
1. Откройте http://localhost:8000/admin/
2. Введите новую версию (например: 1.7.3)
3. Укажите путь к файлу (например: `http://your-server.com/downloads/windows/umbrix-1.7.3.exe`)
4. Нажмите "Сохранить"
---
## 📁 Структура
```
update-server/
├── api.php # REST API для проверки обновлений
├── latest.json # Информация о последней версии
├── admin/
│ ├── index.html # Web-панель управления
│ ├── save.php # Сохранение новой версии
│ ├── history.php # История версий
│ └── restore.php # Откат на предыдущую версию
├── downloads/ # Файлы обновлений
│ ├── windows/ # .exe, .msi
│ ├── macos/ # .dmg, .pkg
│ ├── linux/ # .AppImage, .deb, .rpm
│ └── android/ # (только для тестирования)
└── backups/ # Автоматические резервные копии
```
---
## 🔌 API Endpoints
### `GET /api.php` - Проверка обновлений
**Ответ:**
```json
{
"version": "1.7.3",
"build_number": "173",
"is_prerelease": false,
"download_url": "http://server.com/downloads/windows/umbrix-1.7.3.exe",
"release_notes": "Новые возможности...",
"published_at": "2026-01-17T12:00:00.000Z",
"min_required_version": "1.0.0",
"file_size_bytes": 95000000,
"file_checksum_sha256": ""
}
```
---
## 🐳 Docker Development
```bash
docker-compose up -d
```
Сервер будет доступен на http://localhost:8000
---
## 🌐 Production деплой
### Вариант 1: Обычный веб-хостинг
1. Загрузите файлы на сервер
2. Настройте веб-сервер (Apache/Nginx)
3. Установите права доступа:
```bash
chmod 755 update-server/
chmod 644 update-server/*.php
chmod 755 update-server/downloads/
```
### Вариант 2: Docker
См. [DOCKER_STORAGE.md](DOCKER_STORAGE.md) для настройки production окружения.
---
## 🔐 Безопасность
- ✅ Rate limiting в API (10 запросов в минуту с одного IP)
- ✅ Валидация входных данных
- ✅ Автоматические бэкапы перед изменениями
- ⚠️ **Рекомендуется:** HTTPS для production
- ⚠️ **Рекомендуется:** Базовая HTTP авторизация для /admin/
---
## 📚 Дополнительная документация
- [UPLOAD_FILES.txt](UPLOAD_FILES.txt) - Как загружать файлы обновлений
- [DOCKER_STORAGE.md](DOCKER_STORAGE.md) - Настройка storage для Docker
- [DOCKER_QUICKSTART.md](DOCKER_QUICKSTART.md) - Быстрый запуск с Docker
---
## 🆘 Поддержка
Если приложение не видит обновления:
1. Проверьте доступность API: `curl http://your-server.com/api.php`
2. Убедитесь, что latest.json содержит актуальные данные
3. Проверьте логи: `cat logs/access.log`
---
## ⚙️ Настройка в приложении
В `lib/core/model/constants.dart`:
```dart
// Включить/выключить custom update server
static const bool useCustomUpdateServer = true;
// URL вашего сервера обновлений (только для Desktop)
static const String customUpdateServerUrl = "https://your-server.com/api.php";
```
**Примечание:** Для Android эта настройка игнорируется, используется Google Play.