115 lines
4.0 KiB
Markdown
115 lines
4.0 KiB
Markdown
# Gitea Server
|
||
|
||
Docker-окружение для развертывания Gitea с PostgreSQL, интеграцией S3 и автоматическими бэкапами.
|
||
|
||
## Возможности
|
||
- ✅ Git сервер
|
||
- ✅ Интеграция с S3 (LFS, пакеты, аватары, вложения)
|
||
- ✅ Автоматические бэкапы в S3
|
||
- ✅ Отправка писем (SMTP)
|
||
- ✅ Gitea Actions ([ранеры в отдельном репозитории](https://github.com/gromov-io/gitea-runner))
|
||
|
||
**⚠️ Ограничение:** Container Registry требует `https`, не работает в локальном режиме.
|
||
|
||
## Оглавление
|
||
1. [Быстрый старт](#быстрый-старт)
|
||
2. [Автоматические бэкапы в S3](#автоматические-бэкапы-в-s3)
|
||
3. [Настройка ранеров](#настройка-ранеров)
|
||
4. [Устранение проблем](#устранение-проблем)
|
||
|
||
|
||
---
|
||
|
||
## Быстрый старт
|
||
|
||
### 1. Конфигурация
|
||
|
||
```bash
|
||
# Копируем пример и настраиваем
|
||
cp env.example .env
|
||
nano .env # Укажите пароли, S3 креденшелы, домен
|
||
```
|
||
|
||
### 2. Генерация конфигурации Gitea
|
||
|
||
⚠️ **Важно:** Генерируем `.gitea.env` ПОСЛЕ настройки `.env`:
|
||
|
||
```bash
|
||
docker-compose up generate-config
|
||
```
|
||
|
||
Это создаст `.gitea.env` с подстановкой ваших значений из `.env`.
|
||
|
||
### 3. Запуск
|
||
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
При каждом запуске **автоматически**:
|
||
1. 🔧 Обновляется `.gitea.env` из `.env`
|
||
2. 🔄 Применяется новая конфигурация
|
||
3. 🚀 Запускаются все сервисы
|
||
|
||
Сервер доступен по адресу [http://127.0.0.1:8080](http://127.0.0.1:8080).
|
||
|
||
### 4. Первичная настройка
|
||
|
||
При первом входе укажите:
|
||
- Название сайта
|
||
- Логин и пароль администратора
|
||
- Опционально: капча, регистрация, другие настройки
|
||
|
||
---
|
||
|
||
## Автоматические бэкапы в S3
|
||
|
||
Используется решение **[docker-s3-backup](https://github.com/gromov-io/docker-s3-backup)** — элегантный способ бэкапа всего проекта (база данных + файлы).
|
||
|
||
|
||
Сервис `backup` автоматически:
|
||
- Останавливает Gitea и PostgreSQL перед бэкапом
|
||
- Создает архив всего проекта (база данных + файлы)
|
||
- Загружает в S3 (папка `gitea-backups/`)
|
||
- Запускает сервисы обратно
|
||
|
||
Расписание настраивается в `docker-compose.yaml` (по умолчанию ежедневно в 05:00).
|
||
|
||
### Восстановление
|
||
|
||
Просто скачайте архив из S3 и разархивируйте — всё готово к запуску.
|
||
|
||
---
|
||
|
||
## Настройка ранеров
|
||
|
||
Gitea Actions ранеры находятся в отдельном репозитории: **[gromov-io/gitea-runner](https://github.com/gromov-io/gitea-runner)**
|
||
|
||
### Быстрая настройка:
|
||
|
||
1. Перейдите в админ-панель: [http://127.0.0.1:8080/-/admin/actions/runners/](http://127.0.0.1:8080/-/admin/actions/runners/)
|
||
2. Нажмите **"Создать новый раннер"** и скопируйте токен
|
||
3. Следуйте инструкциям в репозитории gitea-runner
|
||
|
||
---
|
||
|
||
## Устранение проблем
|
||
|
||
### Изменения в .env не применяются
|
||
|
||
Пересоздайте контейнеры:
|
||
```bash
|
||
docker-compose down
|
||
docker-compose up -d --force-recreate
|
||
```
|
||
|
||
### Сброс настроек
|
||
|
||
Для полного сброса удалите данные:
|
||
```bash
|
||
docker-compose down
|
||
sudo rm -rf data/ postgres-data/
|
||
```
|
||
|
||
---
|