Главная/Разработка/Gitea
Установка Gitea на свой сервер
Установка Gitea на свой сервер делается одним контейнером Docker: веб-интерфейс слушает порт 3000, Git по SSH принимает порт 22 внутри контейнера, а все данные лежат в одном каталоге /data. Gitea это лёгкий Git-сервер для небольших команд, которому хватает скромной машины. Рядом с ним стоит Forgejo, ответвление Gitea с тем же устройством.
Ответ за 30 секунд
Для небольшой команды стартуйте с 1 ядра и 2 ГБ памяти. Поднимайте образ Gitea в Docker, выносите SSH на порт 222, ставьте перед ним обратный прокси с HTTPS и отключайте самостоятельную регистрацию сразу на странице первой настройки: иначе открытый сервер быстро обрастает чужими аккаунтами.
Маркетплейс создаёт сервер с установленной Gitea, консоль и compose-файл не нужны.
Сколько ресурсов нужно Gitea на VPS3000порт веб-интерфейса Gitea
222порт SSH в compose из документации
527установок из маркетплейса на 14.10
01 · 1 мин
Чем Gitea отличается от Forgejo и GitLab#
Gitea это Git-сервер на языке Go под лицензией MIT: репозитории, запросы на слияние, задачи, вики, реестр пакетов и встроенная система сборок Gitea Actions, которая понимает синтаксис GitHub Actions. По функциям она уже GitLab, зато ставится за минуты и не требует выделенного сервера: для сравнения посмотрите установку GitLab.
Forgejo это ответвление Gitea, которое ведёт сообщество. Docker-образ называется codeberg.org/forgejo/forgejo, веб-порт по умолчанию тоже 3000, а файл настроек app.ini читается так же. Поэтому инструкция ниже подходит для обоих, меняются только имя образа и тег. Переезд с Gitea на Forgejo возможен не с любой версии: таблицу совместимости смотрите в документации Forgejo до того, как менять образ.
Инструмент · 1 мин
Сколько ресурсов нужно Gitea на VPS#
| Параметр | Что нужно |
|---|---|
| Процессор и память | Точного минимума в инструкции по Docker нет; для небольшой команды хватает 1 ядра и 2 ГБ |
| База данных | SQLite по умолчанию, PostgreSQL, MySQL или MariaDB для большой команды |
| Диск | Размер репозиториев плюс запас; Git LFS и пакеты растут быстрее кода |
| Порты | 3000 для веб-интерфейса, 22 для SSH внутри контейнера |
| Владелец данных | Переменные USER_UID и USER_GID должны совпадать с владельцем каталога /data |
Ресурсы растут не от Git, а от сборок: раннер с тестами и сборкой образов легко съедает больше памяти, чем сам сервер. Если сборки нужны, лучше вынести их на отдельную машину.
Какой сервер взять под Gitea
Три ответа, и калькулятор подберёт готовую конфигурацию
03 · 1 мин
Установка Gitea через Docker Compose на Ubuntu#
- Поставьте Docker с плагином Compose.
- Создайте каталог и файл
docker-compose.ymlниже. Укажите домен вROOT_URL, иначе ссылки в письмах и в интерфейсе будут вести на localhost. - Запустите
docker compose up -dи откройтеhttp://IP-сервера:3000: покажется страница первой настройки. - Проверьте поля и создайте администратора. Здесь же выключите самостоятельную регистрацию, если сервер не публичный.
- Закройте порт 3000 снаружи, когда настроите HTTPS: дальше пользователи ходят через домен.
services:
gitea:
image: docker.gitea.com/gitea:1
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__server__ROOT_URL=https://git.example.com/
- GITEA__server__SSH_PORT=222
ports:
- '127.0.0.1:3000:3000'
- '222:22'
volumes:
- ./gitea:/data
- /etc/localtime:/etc/localtime:ro
Тег 1 следует за последним выпуском ветки 1.x, при желании закрепите точную версию. Для PostgreSQL добавьте второй контейнер и переменные GITEA__database__DB_TYPE, GITEA__database__HOST, GITEA__database__NAME и GITEA__database__USER; сама база разобрана на странице установка PostgreSQL.
04 · 1 мин
Домен, HTTPS и SSH для Gitea на своём сервере#
Веб-интерфейс Gitea отдают через обратный прокси, то есть программу, которая принимает HTTPS и передаёт запросы контейнеру: Caddy выпускает сертификат сам, у Nginx он берётся через Certbot. В compose выше порт 3000 открыт только локально, поэтому прокси работает на том же сервере и ходит на 127.0.0.1:3000.
Клонирование по SSH идёт мимо прокси, напрямую на порт 222. Адрес репозитория выглядит как ssh://git@git.example.com:222/команда/проект.git. Порт 22 хоста занят системным sshd, и не стоит отдавать его контейнеру, пока вы не уверены, что не потеряете доступ к серверу.
05 · 1 мин
Сборки Gitea Actions и копии данных Gitea#
Сборки Gitea Actions выполняет отдельная программа act_runner. Токен регистрации берут в панели администратора, в разделе Actions, Runners; затем запускают образ gitea/act_runner с адресом сервера и токеном в переменных окружения. Работа с раннером похожа на GitLab Runner.
Резервную копию делает команда docker exec -u git -it gitea bash -c 'cd /tmp && gitea dump -c /data/gitea/conf/app.ini': получится один архив с репозиториями, базой SQLite и настройками. Для PostgreSQL базу выгружают отдельно. Куда складывать архивы, описано в разборе сервер для бэкапов.
Обновление без сюрпризов
Перед сменой тега образа сделайте дамп и прочитайте заметки к выпуску: между версиями ломались настройки и менялись миграции. Откат на старый образ после миграции базы не гарантирован, поэтому дамп нужен до обновления, а не после.
06 · 1 мин
Вопросы об установке Gitea#
Какие порты использует 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 выгружают отдельно.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация Gitea: установка через Docker, docs.gitea.com/installation/install-with-docker, проверено 15 октября 2026.
Установите приложение без консоли
Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.
- Docker, n8n, OpenClaw, GitLab, Nextcloud
- Ставится при создании сервера
- Почасовая оплата сервера
- Root-доступ остаётся у вас