Gogs

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Введение

В этой статье описано, как на ROSA Fresh/Chrome 12+ rosa2021.1 запустить Gogs — систему управление git-репозиториями и проектами.

Установка

Выполните команду:

sudo dnf install gogs

Первоначальная настройка

Файл с настройками находится по адресу /etc/gogs/app.ini. При типовом сценарии использования его не понадобится редактировать вручную.

После установки пакета запустите службу gogs:

sudo systemctl start gogs

Убедитесь, что она запустилась:

sudo systemctl status gogs

Добавьте ее в автозапуск:

sudo systemctl enable gogs

Обратите внимание, что по умолчанию используется не встроенный в Gogs SSH-сервер, а внешний — OpenSSH. Такое решение представляется надежнее и проще. У службы systemd gogs.service есть 3 следующих файла:

  • /lib/systemd/system/gogs.service — основной файл с описанием службы;
  • /etc/systemd/system/gogs.service.d/port.conf — этот файл содержит по умолчанию закомментированные строки, которые нужно раскомментировать, если настраивается запуск Gogs на порту <=1024 (по умолчанию 3000);
  • /etc/systemd/system/gogs.service.d/ssh.conf — в этом файле настроен запуск службы sshd.service (OpenSSH) вместе с Gogs; можно закомментировать, если используется встроенные в Gogs SSH-сервер (по умолчанию используется внешний).

В случае изменения этих файлов выполните:

sudo systemctl daemon-reload
sudo systemctl restart gogs
sudo systemctl status gogs

Служба gogs запускается от пользователя gogs, который автоматически создается при установке пакета gogs.

Если Gogs запускается на другой машине или в контейнере, то командой ip a посмотрите его IP-адрес. В приводимом примере IP-адресом будет 192.168.122.209.

Откройте в веб-браузере страницу первоначальной настройки в веб-интерфейсе Gogs по адресу http://ip:3000, например:

2022-07-04 16-14.png

Gogs сам поправит файл /etc/gogs/app.ini в соответствии с указанными здесь настройками. Рассмотрим предлагаемые настройки (актуально для Gogs 0.12.9).

Тип базы данных: SQLite3, MySQL, PostgreSQL, MSSQL

  • SQLite3 — хранить всю базу данных в одном файле; самый простой вариант, не требуется отдельно запускать, настраивать и сопровождать базу данных; хорошо подойдет для небольшого количества проектов; по умолчанию предлагается SQLite БД по адресу /var/lib/gogs/data/gogs.db, в предлагаемом типовом варианте установке этот путь оставим без изменений.
  • MySQL — использовать MySQL; MySQL может быть запущен как на этом, так и на другом сервере; в Росе в репозитории есть пакет mariadb, пример первоначальной настройки приведен в статье Zabbix.