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