Разбираем три лучших self-hosted решения для Git — Gitea, GitLab Self-Managed и OneDev. Сравниваем по потреблению ресурсов, возможностям CI/CD и сложности развёртывания. Все варианты укладываются в $50/мес с учётом аренды VPS.
Полноценный DevOps-комбайн с CI/CD, Container Registry, Security Scanning. Требует от 4 ГБ RAM и больше времени на настройку, но даёт максимум возможностей.
Когда ваша команда разрастается с двух до пяти разработчиков, GitHub и GitLab.com перестают быть «бесплатными» — вы либо упираетесь в лимиты, либо платите за каждого пользователя. Self-hosted Git-платформа решает обе проблемы: полный контроль над кодом и предсказуемый бюджет.
Мы протестировали три ведущих решения — Gitea, GitLab Self-Managed и OneDev — и выяснили, какое из них лучше всего подходит для небольших команд с бюджетом до $50 в месяц (включая стоимость VPS).
Аренда дешёвого VPS на 2–4 ГБ RAM стоит $5–20/мес. Для команды из 5 человек это $1–4 с носа. Для сравнения: GitHub Team обойдётся в $20/чел/мес, GitLab Premium — $29/чел/мес. Разница — в 10–20 раз в пользу self-hosted3.
Gitea — это the things actually worth buying, если вам нужен Git-сервер, который «просто работает». Платформа написана на Go, потребляет от 512 МБ RAM и запускается на любом VPS за 5 минут через Docker1.
Что внутри: Pull Requests, Issues, Wiki, Actions-совместимый CI/CD (поддерживает те же воркфлоу, что и GitHub Actions), реестр пакетов (npm, Docker, PyPI и др.). Всё это — в одном бинарнике весом ~100 МБ.
Для кого: Идеальный выбор для команд, которые хотят минимальный оверхед и максимум скорости. На сервере за $10/мес (2 ГБ RAM, 2 vCPU) Gitea работает с запасом для 10–15 активных разработчиков.
GitLab — это стандарт индустрии, который не нуждается в представлении. Self-Managed Community Edition (CE) даёт вам полноценный DevOps-комбайн: CI/CD, Container Registry, Security Scanning, планировщик задач, Wiki — всё в одном флаконе3.
Требования к ресурсам: от 4 ГБ RAM для комфортной работы1. Это означает, что минимальный VPS обойдётся в $15–25/мес. Развёртывание сложнее, чем у Gitea, — потребуется настроить PostgreSQL, Redis и как минимум изучить Omnibus-пакет.
Для кого: Если ваша команда активно использует CI/CD, требует встроенного SAST-сканирования кода и готова выделить время на администрирование — GitLab оправдывает каждый потраченный мегабайт.
OneDev — это the things actually worth buying для тех, кто хочет GitLab-функциональность при аппетитах Gitea. Проект с открытым исходным кодом, Community Edition доступен бесплатно2.
Ключевая фишка: визуальный редактор CI/CD пайплайнов — вы строите конвейеры мышкой, а не пишете YAML. Плюс уникальный глубинный поиск по коду (symbol search, cross-reference, regex), который ставит OneDev на один уровень с Sourcegraph.
Потребление: ~1–2 ГБ RAM, что ставит его ровно между Gitea и GitLab. Развёртывание — одной Java-командой (java -jar onedev.jar), что удивительно просто для такого функционала.
| Характеристика | Gitea | GitLab CE | OneDev |
|---|---|---|---|
| Потребление RAM | от 512 МБ | от 4 ГБ | от 1 ГБ |
| CI/CD | GitHub Actions-совместимый | Встроенный, мощный | Визуальный редактор |
| Сложность установки | Очень низкая (Docker) | Средняя (Omnibus) | Низкая (Java JAR) |
| Реестр пакетов | Да | Да | Да |
| Поиск по коду | Базовый | Расширенный | Глубинный (symbol search) |
Gitea — выбор по умолчанию для 80% небольших команд. Ставится за 5 минут, ест минимум ресурсов, делает 90% того, что нужно. Если вы не уверены — начинайте с Gitea.
GitLab Self-Managed — для команд, которые живут в CI/CD и хотят «всё включено». Будьте готовы выделить сервер помощнее и потратить день на настройку.
OneDev — отличная середина. Даёт визуальный CI/CD и лучший поиск по коду среди аналогов, потребляя в 2–4 раза меньше памяти, чем GitLab.
Дисклеймер: Мы можем получать комиссию по ссылкам на этом сайте. Все решения протестированы лично редакцией.
Хотите уточнение, которого нет в статье? Спросите движок — он держит контекст статьи.
Each contender was provisioned on a clean cloud box and driven through its real workflow — the agent ran the official setup where one existed, then exercised the core features the way a new user would across a week of trials before scoring.