Установка Gitea на свой сервер: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 5 вопросов. Полный разбор с примерами: Установка Gitea на свой сервер.
Коротко
Установка Gitea на свой сервер делается одним контейнером Docker: веб-интерфейс слушает порт 3000, Git по SSH принимает порт 22 внутри контейнера, а все данные лежат в одном каталоге /data. Gitea это лёгкий Git-сервер для небольших команд, которому хватает скромной машины. Рядом с ним стоит Forgejo, ответвление Gitea с тем же устройством.
Конспект по разделам
Чем Gitea отличается от Forgejo и GitLab
Gitea это Git-сервер на языке Go под лицензией MIT: репозитории, запросы на слияние, задачи, вики, реестр пакетов и встроенная система сборок Gitea Actions, которая понимает синтаксис GitHub Actions. По функциям она уже GitLab, зато ставится за минуты и не требует выделенного сервера: для сравнения посмотрите установку GitLab. Forgejo это ответвление Gitea, которое ведёт сообщество.
Сколько ресурсов нужно Gitea на VPS
Ресурсы растут не от Git, а от сборок: раннер с тестами и сборкой образов легко съедает больше памяти, чем сам сервер. Если сборки нужны, лучше вынести их на отдельную машину. Три ответа, и калькулятор подберёт готовую конфигурацию
Установка Gitea через Docker Compose на Ubuntu
Тег 1 следует за последним выпуском ветки 1.x, при желании закрепите точную версию. Для PostgreSQL добавьте второй контейнер и переменные GITEA__database__DB_TYPE, GITEA__database__HOST, GITEA__database__NAME и GITEA__database__USER; сама база разобрана на странице установка PostgreSQL.
- Поставьте Docker с плагином Compose.
- Создайте каталог и файл docker-compose.yml ниже.
- Запустите docker compose up -d и откройте http://IP-сервера:3000: покажется страница первой настройки.
- Проверьте поля и создайте администратора.
Домен, HTTPS и SSH для Gitea на своём сервере
Веб-интерфейс Gitea отдают через обратный прокси, то есть программу, которая принимает HTTPS и передаёт запросы контейнеру: Caddy выпускает сертификат сам, у Nginx он берётся через Certbot. В compose выше порт 3000 открыт только локально, поэтому прокси работает на том же сервере и ходит на 127.0.0.1:3000. Клонирование по SSH идёт мимо прокси, напрямую на порт 222.
Сборки Gitea Actions и копии данных Gitea
Сборки Gitea Actions выполняет отдельная программа act_runner. Токен регистрации берут в панели администратора, в разделе Actions, Runners; затем запускают образ gitea/act_runner с адресом сервера и токеном в переменных окружения. Работа с раннером похожа на GitLab Runner.
Установите приложение без консоли
Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.
- Docker, n8n, OpenClaw, GitLab, Nextcloud
- Ставится при создании сервера
- Почасовая оплата сервера
- Root-доступ остаётся у вас
Данные
| Параметр | Что нужно |
|---|---|
| Процессор и память | Точного минимума в инструкции по Docker нет; для небольшой команды хватает 1 ядра и 2 ГБ |
| База данных | SQLite по умолчанию, PostgreSQL, MySQL или MariaDB для большой команды |
| Диск | Размер репозиториев плюс запас; Git LFS и пакеты растут быстрее кода |
| Порты | 3000 для веб-интерфейса, 22 для SSH внутри контейнера |
| Владелец данных | Переменные USER_UID и USER_GID должны совпадать с владельцем каталога /data |
Данные на 14 октября 2026.
Вопросы и ответы
Какие порты использует Gitea для веб-интерфейса и SSH?
Веб-интерфейс слушает 3000, SSH внутри контейнера 22. В примере из документации Docker SSH опубликован снаружи как 222, чтобы не занимать порт хоста.
Сколько памяти нужно Gitea на VPS?
Официальной цифры на странице установки в Docker нет. Для небольшой команды стартуют с 1 ядра и 2 ГБ, а память добавляют, если на этом же сервере крутятся сборки.
Можно ли вместо Gitea поставить Forgejo?
Можно: образ codeberg.org/forgejo/forgejo устроен так же, порт 3000 и файл app.ini те же. Переход с работающей Gitea возможен не с любой версии, проверьте таблицу совместимости.
Как отключить регистрацию в Gitea?
На странице первой настройки снять разрешение самостоятельной регистрации или задать в app.ini раздел service с параметром DISABLE_REGISTRATION = true. Аккаунты тогда создаёт администратор.
Как сделать резервную копию Gitea в Docker?
Выполнить в контейнере gitea dump от пользователя git. Архив содержит репозитории, настройки и SQLite, базу PostgreSQL выгружают отдельно.