
Gitea − инструмент, позволяющий хранить код и работать с ним, как на GitHub, но при этом использовать собственный сервер. Gitea позволяет загружать репозитории, отслеживать историю изменений, возвращаться к старым версиям, а также работать над проектами вместе с другими пользователями сервиса. Приложение не требует большого количества серверных ресурсов и работает через веб-интерфейс. При этом в Gitea применяются обычные команды Git. Gitea написан на языке Go, благодаря чему он быстрый в работе и простой в запуске. В статье разберём, как установить Gitea на Debian 12.
Как установить Gitea на Debian
Gitea использует Git как основу для работы с кодом. Именно Git отвечает за хранение, отслеживание изменений и управление версиями файлов. Исходя из чего, во-первых, обновите списки доступных в системе пакетов и установите Git:
$ sudo apt update
$ sudo apt install git
Далее запустите браузер, откройте там страницу загрузок официального сайта Gitea и выберите версию для инсталляции. Затем кликните в выбранную версию и при помощи правой кнопки скопируйте ссылку на загрузку дистрибутива для 64-разрядной сборки Linux.

Для загрузки файлов из сети используется утилита wget
, которая по умолчанию не установлена в образе Debian. Поэтому перейдите к серверу и установите утилиту:
$ sudo apt install wget
После чего загрузите бинарный файл Gitea, используя утилиту wget
и скопированную ранее ссылку:
$ wget -O gitea https://dl.gitea.com/gitea/1.24.2/gitea-1.24.2-linux-amd64
Опция -O
в утилите wget
в сочетании с параметром gitea
указывает на то, что загружаемый бинарный файл будет сохранён под именем gitea
. Чтобы сделать этот файл исполняемым, выдайте ему соответствующее разрешение:
$ chmod +x gitea
Поскольку веб-интерфейс Gitea работает с использованием порта 3000, необходимо в брандмауэре UFW создать разрешающее правило для данного порта:
$ sudo ufw allow 3000
Теперь можно проверить работоспособность Gitea, для чего запустите команду:
$ ./gitea web
Чтобы подключиться к веб-интерфейсу Gitea, запустите браузер и перейдите на X.X.X.X:3000
, где вместо X.X.X.X
укажите IP-адрес виртуальной машины.

Если удалось открыть страницу начальной конфигурации, значит, Gitea работает, и можно вернуться к командной строке, чтобы остановить выполнение программы нажатием Ctrl C
.
Запуск Gitea как системного сервиса
Для того чтобы не запускать Gitea вручную каждый раз с помощью ранее использованной команды и при этом обеспечить его постоянную работу, необходимо настроить приложение в качестве системной службы.
Для этого следует, во-первых, создать системного пользователя под именем gitea
, который будет иметь доступ исключительно к директориям и файлам Gitea.
Чтобы это сделать, выполните команду:
$ sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/gitea gitea
После чего создайте необходимую структуру каталогов:
$ sudo mkdir -p /etc/gitea
$ sudo mkdir -p /var/lib/gitea/{custom,data,log}
Созданным каталогам назначьте соответствующие права:
$ sudo chown -R gitea:gitea /var/lib/gitea/
$ sudo chmod -R 750 /var/lib/gitea/
$ sudo chown -R root:gitea /etc/gitea
$ sudo chmod -R 770 /etc/gitea
Затем создайте для нового сервиса unit-файл:
$ sudo nano /etc/systemd/system/gitea.service
В него скопируйте следующие строки:
[Unit]
Description=Gitea Service
After=network.target
[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Закройте unit-файл с сохранением изменений и перенесите исполняемый файл Gitea в директорию /usr/local/bin/
:
$ sudo mv gitea /usr/local/bin/
Следующей командой перечитайте все unit-файлы, чтобы конфигурация systemd
узнала о появлении нового сервиса:
$ sudo systemctl daemon-reload
Затем запустите службу gitea
с установкой её в автозагрузку:
$ sudo systemctl enable --now gitea
Чтобы убедиться в том, что сервис работает без ошибок, запустите команду, которая выводит его состояние:
$ systemctl status gitea
Вывод команды не должен содержать сообщений об ошибках.

Проверка доступности веб-интерфейса Gitea
Если ошибок нет, откройте браузер и перейдите на веб-страницу Gitea по ссылке вида X.X.X.X:3000
.
В браузере должна снова открыться страница начальной конфигурации, где необходимо произвести стартовую настройку Gitea. В частности, выберите тип базы данных, которая будет использоваться в работе системы. Также в расширенных настройках создайте первого пользователя, который будет выполнять функции администратора. Для применения первоначальной конфигурации нажмите Установить Gitea
.

После того, как завершится первоначальная настройка системы, в браузере откроется главная страница веб-интерфейса Gitea.
