- Gitea — это облегченная альтернатива GitLab и GitHub, которая потребляет очень мало системных ресурсов.
- Установка осуществляется на основе исполняемого двоичного файла, управляемого как служба через SystemD.
- Использование обратного прокси-сервера с Nginx необходимо для обеспечения безопасного доступа по протоколу HTTPS.
- Это позволяет переносить существующие репозитории с других платформ, сохраняя при этом проблемы и теги.

Если вы устали зависеть от правил, стоимости или доступности таких гигантов, как GitHub или GitLab, создание собственной инфраструктуры — это путь вперед. Наличие Git-сервера дома или в офисе дает вам ключи к царству: абсолютный контроль над кодом , полное управление доступом и спокойствие, поскольку ваши частные репозитории не ограничены действиями третьих лиц.
Среди всех доступных вариантов Gitea выделяется как настоящая жемчужина. Это инструмент, написанный на Go, что делает его невероятно легким и быстрым , идеально подходящим для тех, кто не хочет выделять 16 ГБ оперативной памяти для Git-сервера. В отличие от GitLab, который представляет собой многофункциональный, но ресурсоемкий океанский лайнер, Gitea похож на скоростной катер: он сразу переходит к делу, потребляет очень мало ресурсов и предлагает очень знакомый интерфейс для всех, кто пользовался GitHub.
Краткое сравнение: Gitea, GitLab и Forgejo

Прежде чем приступить к установке, стоит понять, с чем вы имеете дело. GitLab — это типичный корпоративный вариант, идеально подходящий для больших команд, которым необходима интегрированная CI/CD, но он требует мощного оборудования. Gitea, с другой стороны, — лучший выбор для небольших серверов или личных проектов благодаря очень малому объему используемой памяти. Наконец, есть Forgejo, форк Gitea, созданный сообществом; если вы являетесь приверженцем свободного программного обеспечения и предпочитаете открытое управление без корпоративного влияния, это альтернатива для вас.
Что вам нужно, прежде чем начать

Для обеспечения бесперебойной работы убедитесь, что у вас есть сервер Linux (Ubuntu, Debian или Rocky Linux) с правами root. Также необходимо установить Git на машину, и хотя Gitea позволяет использовать SQLite, для производственных сред настоятельно рекомендуется использовать PostgreSQL или MariaDB для обеспечения стабильности данных.
Подготовка грунта в системе

Запуск Gitea от имени root не рекомендуется по соображениям безопасности. Лучше создать отдельного пользователя. Это можно сделать с помощью команды. adduser --system --shell /bin/bash --group --home /home/gitea gitea. Важно использовать /bin/bash в качестве оболочки Потому что Gitea необходимо взаимодействовать с git-shell через SSH. Если у вас ещё не установлен Git, достаточно простой команды. apt install git Это быстро решит проблему.
Бинарная установка и структура папок

Gitea можно установить несколькими способами, но установка бинарного файла — самый простой. Вам следует найти последнюю стабильную версию на официальном сайте и загрузить её, используя [метод/метод]. wget en /usr/local/bin/giteaотдам это позже права на выполнение с помощью команды chmod +xДля корректной работы программы необходимо создать ряд определенных каталогов: /etc/gitea для настройки и /var/lib/gitea для пользовательских данных, журналов и файлов. Не забудьте настроить права доступа к объекту (chown) чтобы пользователь Gitea мог им писать.
Конфигурация базы данных
Если вы выберете PostgreSQL, вам потребуется установить пакет и создать специальную роль с надежным паролем, помимо базы данных. giteadb с кодировкой UTF8. Если вы предпочитаете MariaDB, процесс аналогичен: вы создаете базу данных и пользователя, убедившись, что... Механизм хранения данных — InnoDB. и что сервер прослушивает порт 3306.
Автоматизация с помощью SystemD
Чтобы избежать необходимости вручную запускать Gitea каждый раз при перезагрузке сервера, лучше всего создать файл диска в папке... /etc/systemd/system/gitea.serviceЭтот файл сообщает системе, что Gitea должна работать как сервис.Укажите пользователя, группу и путь к исполняемому файлу. После создания просто запустите. systemctl enable --now gitea и сервер по умолчанию начнет прослушивать порт 3000.
Первое знакомство с веб-интерфейсом
При входе http://tu-ip:3000Затем откроется мастер настройки. Здесь вы подключаете базу данных (указывая хост, имя пользователя и пароль) и определяете параметры. общие настройки сайтанапример, имя экземпляра и базовый URL. Также пришло время настроить SSH-сервер и решить, хотите ли вы, чтобы любой мог зарегистрироваться, или же вы предпочитаете... отключить публичное ведение журнала чтобы сохранить сервер в приватном режиме.
Безопасность и профессиональный доступ с помощью Nginx
Доступ к Gitea через порт 3000 неэффективен и небезопасен. Идеальное решение — настроить обратный прокси с помощью Nginx . Это позволит пользователям получать доступ к сайту через домен (например, git.yourdomain.com) и гарантирует шифрование всего трафика с использованием SSL-сертификатов Let's Encrypt . В конфигурации Nginx просто перенаправьте трафик с порта 443 на порт 3000 Gitea, добавив заголовки X-Forwarded-For, чтобы избежать потери реального IP-адреса клиента.
Управление пользователями и миграция кода
Если вы отключили ведение журнала открытых файлов, вы можете создать первого администратора с помощью командной строки, используя следующую команду. gitea admin user createОказавшись внутри, вы можете добавить свой открытые SSH-ключи В профиле пользователя можно клонировать репозитории без необходимости каждый раз вводить пароль. Если у вас уже есть код на GitHub, Gitea предлагает... интегрированный инструмент миграции Программа автоматически импортирует не только код, но и проблемы, а также теги.
Техническое обслуживание и настройка
Поддерживать Gitea невероятно просто. Для обновления достаточно загрузить новый исполняемый файл, заменить старый и перезапустить службу. Для резервного копирования используйте команду. gitea dump Это ваш лучший друг, потому что он генерирует сжатый файл со всем содержимымБаза данных, конфигурация и репозитории. Для электронной почты можно настроить внешний SMTP-сервер (например, Gmail) или установить Postfix на сервере для получения уведомлений о запросах на слияние и оповещений.
Внедрение Gitea позволяет получить надежную, легковесную и полностью приватную платформу контроля версий, исключающую зависимость от внешних сервисов благодаря установке на основе бинарных файлов, оптимизированной базе данных и обратному прокси-серверу, гарантирующему безопасность трафика по протоколу HTTPS.