Self-hosted Git-сервер: развёртывание Forgejo/Gitea с CI/CD и LDAP

GitLab CE съедает ресурсы сервера даже для небольшой команды, а его настройка и сопровождение отнимают время. Мы разворачиваем лёгкий self-hosted Git-сервер на Forgejo или Gitea с CI/CD и LDAP. Наша команда реализует проект под ключ — от миграции репозиториев до настройки пайплайнов и последующей поддержки, обеспечивая стабильную работу без срыва сроков.
Часто задаваемые вопросы

Self-hosted git-сервер: Forgejo/Gitea, CI/CD, LDAP и миграция

Если вы используете GitLab CE для команды из 10–15 разработчиков, то знаете, сколько ресурсов он требует: минимум 4 ГБ RAM для старта, а в production — 8–16 ГБ плюс отдельный Postgres, Redis и Sidekiq. Для небольших проектов это избыточно и дорого. Мы предлагаем лёгкую альтернативу — Forgejo или Gitea. Один бинарник, 1 ГБ RAM, 50 МБ на диске — и вы получаете полноценный git-сервер с web-интерфейсом, issue tracker, а теперь ещё и встроенный CI через Forgejo Actions. Наша команда за несколько лет развернула более 50 таких инсталляций для fintech, e-commerce и SaaS. Ни одного отказа по вине платформы. В отличие от GitLab, Forgejo не требует выделенного сервера — достаточно VPS с 1 ГБ RAM. Экономия на облачных серверах составляет 3–5 раз, что снижает месячные расходы с $500 до $150.

Какие проблемы решает Forgejo?

Forgejo решает три основные задачи: ресурсы, сложность и CI/CD. Рассмотрим каждую подробнее:

  • Ресурсы: GitLab CE съедает до 8 ГБ RAM даже при 10 пользователях. Forgejo работает на 1 ГБ без просадок, что снижает стоимость облачных серверов в 3–5 раз.
  • Сложность: GitLab требует отдельного Postgres, Redis, Sidekiq. Forgejo — один бинарник или Docker Compose из двух контейнеров (app + db).
  • CI/CD: GitLab CI нужен GitLab Runner. Forgejo Actions использует синтаксис GitHub Actions и не требует внешних сервисов.

Почему Forgejo экономичнее GitLab?

Сравнение ресурсов:

Параметр Forgejo GitLab CE
Минимальная RAM 1 ГБ 4 ГБ
Рекомендуемая RAM (50 пользователей) 2 ГБ 8 ГБ
Диск 50 МБ 1 ГБ+
Зависимости Postgres Postgres, Redis, Sidekiq
Время развёртывания 30 мин 2–4 часа

Forgejo — форк Gitea, появившийся после конфликта в сообществе. Технически они совместимы: конфиги и API переносятся без изменений. Forgejo получает патчи на 30% быстрее (по данным OpenHUB). Для новых проектов мы рекомендуем Forgejo.

Варианты развёртывания

Способ Сложность Время Гибкость
Docker Compose Низкая 30 мин Средняя
Бинарный файл Средняя 1 час Высокая
Helm-чарт (Kubernetes) Высокая 2 часа Максимальная

Как настроить Forgejo с CI/CD за час?

  1. Развёртывание через Docker Compose – создайте файл docker-compose.yml:

    version: "3"
    services:
      forgejo:
        image: codeberg.org/forgejo/forgejo:8
        container_name: forgejo
        environment:
          - USER_UID=1000
          - USER_GID=1000
          - FORGEJO__database__DB_TYPE=postgres
          - FORGEJO__database__HOST=db:5432
          - FORGEJO__database__NAME=forgejo
          - FORGEJO__database__USER=forgejo
          - FORGEJO__database__PASSWD=secret
        volumes:
          - ./data:/data
        ports:
          - "3000:3000"
          - "222:22"
        restart: unless-stopped
      db:
        image: postgres:16
        environment:
          - POSTGRES_USER=forgejo
          - POSTGRES_PASSWORD=secret
          - POSTGRES_DB=forgejo
        volumes:
          - ./postgres:/var/lib/postgresql/data
    

    Запустите: docker-compose up -d.

    Настройте через web-интерфейс – укажите домен, почту, отключите регистрацию. Основные параметры в /data/gitea/conf/app.ini:

    [server]
    DOMAIN = git.company.com
    ROOT_URL = https://git.company.com/
    SSH_DOMAIN = git.company.com
    SSH_PORT = 22
    DISABLE_SSH = false
    
    [service]
    DISABLE_REGISTRATION = true
    REQUIRE_SIGNIN_VIEW = true
    REGISTER_EMAIL_CONFIRM = true

    DISABLE_REGISTRATION = true обязательно для закрытой команды. Настройте Forgejo Actions – добавьте workflow-файл .forgejo/workflows/ci.yaml:

    on: [push] jobs: test: runs-on: docker steps: - uses: actions/checkout@v4 - name: Run tests run: go test ./... 

    Зарегистрируйте act runner:

    act_runner register \
      --instance https://git.company.com \
      --token <runner_token> \
      --name my-runner \
      --labels docker:docker://node:20-bookworm

    Runner выполняет задачи в изолированных Docker-контейнерах. Весь процесс занимает 30–60 минут.

    Пример конфигурации для production

    Для production-среды рекомендуем добавить резервирование базы данных и настроить автоматическое обновление SSL-сертификатов через Let's Encrypt. Используйте внешний Postgres с репликацией и регулярные бэкапы репозиториев. Также настройте мониторинг через Prometheus и оповещения в Slack.

    Как перенести репозитории из GitHub или GitLab?

    Forgejo поддерживает импорт с сохранением issues, pull requests, milestones и wiki. Для массовой миграции используйте API:

    for repo in $(gh repo list myorg --json name -q '.[].name'); do
      curl -X POST https://git.company.com/api/v1/repos/migrate \
        -H "Authorization: token $FORGEJO_TOKEN" \
        -H "Content-Type: application/json" \
        -d "{\"clone_addr\":\"https://github.com/myorg/$repo\",\"repo_name\":\"$repo\",\"mirror\":false,\"private\":true}"
    done

    Автоматизация миграции 50 репозиториев занимает не более 2–3 дней.

    Что входит в работу

    • Установка и настройка Forgejo (или Gitea) с HTTPS и LDAP.
    • Интеграция с LDAP/SSO (Active Directory, OpenLDAP, Keycloak).
    • Настройка Forgejo Actions и регистрация act runner.
    • Миграция репозиториев из GitHub, GitLab, Bitbucket с сохранением истории.
    • Написание документации и обучение команды.
    • Гарантийная поддержка 1 месяц.

    Наши DevOps‑инженеры имеют сертификаты CKA и 5+ лет опыта в Kubernetes и GitOps. Выполнено более 50 проектов по миграции и настройке Git‑серверов для fintech и e‑commerce.

    Сроки ориентировочно

    • Базовая установка Forgejo/Gitea с HTTPS и LDAP – от 4 до 8 часов.
    • Добавление Forgejo Actions и миграция – от 1 до 3 дней.
    • Полный проект под ключ – от 3 до 5 дней.

    Стоимость рассчитывается индивидуально после аудита вашей инфраструктуры. Закажите развертывание Forgejo с CI/CD и LDAP под ключ — получите готовый git-сервер за 4 часа. Свяжитесь с нами для аудита вашей инфраструктуры. Получите консультацию DevOps-инженера по настройке Forgejo.

    Forgejo — открытая платформа для управления git-репозиториями.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139