Главная/Разработка/Gitea

Установка Gitea на свой сервер

Установка Gitea на свой сервер делается одним контейнером Docker: веб-интерфейс слушает порт 3000, Git по SSH принимает порт 22 внутри контейнера, а все данные лежат в одном каталоге /data. Gitea это лёгкий Git-сервер для небольших команд, которому хватает скромной машины. Рядом с ним стоит Forgejo, ответвление Gitea с тем же устройством.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для небольшой команды стартуйте с 1 ядра и 2 ГБ памяти. Поднимайте образ Gitea в Docker, выносите SSH на порт 222, ставьте перед ним обратный прокси с HTTPS и отключайте самостоятельную регистрацию сразу на странице первой настройки: иначе открытый сервер быстро обрастает чужими аккаунтами.

Маркетплейс создаёт сервер с установленной Gitea, консоль и compose-файл не нужны.

Сколько ресурсов нужно Gitea на VPS

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

Три ответа, и калькулятор подберёт готовую конфигурацию

Сколько людей пользуется
Нужны ли сборки Gitea Actions
Что хранится в репозиториях

03 · 1 мин

Установка Gitea через Docker Compose на Ubuntu#

  1. Поставьте Docker с плагином Compose.
  2. Создайте каталог и файл docker-compose.yml ниже. Укажите домен в ROOT_URL, иначе ссылки в письмах и в интерфейсе будут вести на localhost.
  3. Запустите docker compose up -d и откройте http://IP-сервера:3000: покажется страница первой настройки.
  4. Проверьте поля и создайте администратора. Здесь же выключите самостоятельную регистрацию, если сервер не публичный.
  5. Закройте порт 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.

SBРедакция SelfBase · обновлено 16 октября 2026

Установите приложение без консоли

Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.

  • Docker, n8n, OpenClaw, GitLab, Nextcloud
  • Ставится при создании сервера
  • Почасовая оплата сервера
  • Root-доступ остаётся у вас
Ресурсы