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