Files
umbrix/update-server/INSTALL_INSTRUCTIONS.md

256 lines
7.6 KiB
Markdown
Raw Normal View History

# 🚀 Инструкция по установке Gitea на сервер 85.208.139.84
## Шаг 1: Подключение к серверу
```bash
# Подключитесь к серверу по SSH
ssh root@85.208.139.84
# или
ssh ваш_пользователь@85.208.139.84
```
## Шаг 2: Загрузка установочного скрипта
**Вариант A: Через scp (с локальной машины)**
```bash
cd ~/dorod/hiddify-umbrix-v1.7.0/update-server
scp install-gitea.sh root@85.208.139.84:/root/
```
**Вариант B: Прямо на сервере (создать файл)**
```bash
# На сервере
nano install-gitea.sh
# Скопируйте содержимое файла install-gitea.sh
# Сохраните: Ctrl+O, Enter, Ctrl+X
```
**Вариант C: Через curl (самый простой)**
```bash
# На сервере, скопируйте файл в интернет и скачайте:
curl -O https://ваш-сервер/install-gitea.sh
```
## Шаг 3: Запуск установки
```bash
# Сделайте скрипт исполняемым
chmod +x install-gitea.sh
# Запустите установку
sudo ./install-gitea.sh
```
Установка займёт **3-5 минут**.
## Шаг 4: Первоначальная настройка Gitea
1. Откройте браузер: **http://85.208.139.84:3000**
2. При первом входе увидите страницу установки:
**Database Settings:**
- Database Type: `PostgreSQL`
- Host: `db:5432`
- Username: `gitea`
- Password: `gitea_secure_pass_2026`
- Database Name: `gitea`
**General Settings:**
- Site Title: `Umbrix Updates`
- Repository Root Path: `/data/git/repositories`
- Git LFS Root Path: `/data/git/lfs`
- Run As Username: `git`
**Server and Third-Party Service Settings:**
- SSH Server Domain: `85.208.139.84`
- SSH Server Port: `2222`
- Gitea HTTP Listen Port: `3000`
- Gitea Base URL: `http://85.208.139.84:3000`
**Email Settings:** (можно пропустить)
**Administrator Account Settings:**
- Administrator Username: `admin` (или ваш логин)
- Password: (ваш надёжный пароль)
- Email: `admin@umbrix.net`
3. Нажмите **"Install Gitea"**
4. Дождитесь завершения установки (10-20 секунд)
5. Войдите с созданными учётными данными
## Шаг 5: Создание репозитория Umbrix
1. После входа нажмите **"+"** → **"New Repository"**
2. Заполните:
- Owner: `admin` (ваш пользователь)
- Repository Name: `umbrix`
- Description: `Umbrix VPN Application`
- Visibility: ☑ **Public** (важно для updates!)
- Initialize Repository: ☐ (пустой, заполним с локальной машины)
3. Нажмите **"Create Repository"**
## Шаг 6: Загрузка кода с локальной машины
```bash
# На локальной машине
cd ~/dorod/hiddify-umbrix-v1.7.0
# Добавьте remote для Gitea
git remote add gitea http://85.208.139.84:3000/admin/umbrix.git
# Запушьте код
git push -u gitea main
# Введите: admin / ваш_пароль
```
## Шаг 7: Создание первого релиза
### Через UI:
1. Откройте: http://85.208.139.84:3000/admin/umbrix
2. Перейдите: **Releases****New Release**
3. Заполните:
- Tag version: `v1.7.3`
- Release Title: `Umbrix v1.7.3`
- Describe this release:
```
## 🚀 Что нового
- Улучшена стабильность подключения
- Исправлены ошибки
```
4. Прикрепите файлы (Drag & Drop):
- `dist/umbrix-1.7.3-linux.deb`
- `dist/umbrix-1.7.3-linux.rpm`
- `dist/Umbrix-1.7.3-linux.AppImage`
5. Нажмите **"Publish Release"**
### Через API (автоматизация):
```bash
# Получите Access Token
# Gitea → Settings → Applications → Generate New Token
# Permissions: read:repository, write:repository
TOKEN="ваш_токен"
# Создайте релиз
curl -X POST "http://85.208.139.84:3000/api/v1/repos/admin/umbrix/releases" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tag_name": "v1.7.3",
"name": "Umbrix v1.7.3",
"body": "## Что нового\n- Улучшена стабильность",
"draft": false,
"prerelease": false
}'
# Загрузите файлы
RELEASE_ID=1 # ID из предыдущего ответа
curl -X POST "http://85.208.139.84:3000/api/v1/repos/admin/umbrix/releases/$RELEASE_ID/assets" \
-H "Authorization: token $TOKEN" \
-H "Content-Type: multipart/form-data" \
-F "attachment=@dist/umbrix-1.7.3-linux.deb"
```
## Шаг 8: Настройка Umbrix для использования Gitea
Отредактируйте `lib/core/model/constants.dart`:
```dart
abstract class Constants {
static const appName = "Umbrix";
static const githubUrl = "http://85.208.139.84:3000/admin/umbrix";
static const githubReleasesApiUrl = "http://85.208.139.84:3000/api/v1/repos/admin/umbrix/releases";
static const githubLatestReleaseUrl = "http://85.208.139.84:3000/admin/umbrix/releases/latest";
// ...
static const useCustomUpdateServer = false; // Используем Gitea API
}
```
Пересоберите:
```bash
flutter build linux --release
```
## Шаг 9: Тест проверки обновлений
1. Запустите пересобранное приложение
2. Откройте: **Настройки****О программе**
3. Нажмите **"Проверка обновлений"**
4. Должно показать: **"Доступно обновление до версии 1.7.3"**
## 📊 Управление сервером
```bash
# На сервере
cd /opt/gitea
# Просмотр логов
docker-compose logs -f gitea
# Статус контейнеров
docker-compose ps
# Перезапуск
docker-compose restart
# Остановка
docker-compose down
# Запуск
docker-compose up -d
# Обновление Gitea
docker-compose pull
docker-compose up -d
```
## 🔧 Устранение проблем
### Gitea не запускается
```bash
docker-compose logs gitea
docker-compose logs db
```
### Порты заняты
```bash
# Проверьте что порты свободны
netstat -tulpn | grep 3000
netstat -tulpn | grep 2222
```
### Забыли пароль админа
```bash
docker exec -it gitea gitea admin user change-password -u admin -p новый_пароль
```
## 🌐 Следующие шаги (опционально)
### 1. Настройка домена (вместо IP)
Если есть домен `git.umbrix.net`:
1. Добавьте A-запись: `git.umbrix.net → 85.208.139.84`
2. Установите Nginx + Certbot для HTTPS
3. Обновите `GITEA__server__DOMAIN` в docker-compose.yml
### 2. Автоматизация сборки
Настройте Gitea Actions (аналог GitHub Actions) для автоматической сборки при push.
### 3. Зеркала
Разверните такие же контейнеры на других IP для обхода блокировок.
## ✅ Готово!
Теперь у вас работает:
- ✓ Gitea на http://85.208.139.84:3000
- ✓ API обновлений: http://85.208.139.84:3000/api/v1/repos/admin/umbrix/releases
- ✓ Umbrix проверяет обновления через Gitea