# 🚀 Инструкция по установке 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