Введение

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

Gogs-hero.png

Установка

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

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 следующих файла:

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

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). Можно не править предлагаемые автоматически настройки, получится работоспособная установка Gogs.

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

В рассматриваемом варианте установки оставим значение по умолчанию: SQLIte3 и путь /var/lib/gogs/data/gogs.db.

Имя приложения: показываемый пользователям заголовок сайта. Для наглядности укажем: «Гоша».

Путь корня репозитория: каталог для размещения git-репозиториев, оставляем предлагаемый по умолчанию /var/lib/gogs/gogs-repositories.

Пользователь: пользователь Linux, от которого работает Gogs; оставляем значение по умолчанию gogs.

SSH порт: порт, на котором запущен SSH-сервис; используется для вывода команд git clone ... в веб-интерфейсе Gogs; оставляем значение по умолчанию 22.

URL приложения: показываемый в веб-интерфейсе внутри команд git clone ... адрес приложения Gogs; если вы планируете поставить перед Gogs обратный прокси (например, nginx) и|или добавить TLS-шифрование (что выходит за рамки этой статьи), то измените значение и укажите, например: https://gogs.nixtux.ru; если не планируете, то можно оставить значение по умолчанию.

Порт HTTP: порт, на котором работает gogs, по умолчанию 3000; оставьте значение по умолчанию; если перед gogs будет поставлен nginx, менять порт все равно не нужно (а если поменяете, то в настройках nginx нужно будет прописать соответствующий порт).

Путь к журналу: каталог для логов, оставляем значение по умолчанию /var/log/gogs.

Включить режим консоли: выводить логи не только в файлы, но и в syslog, что делает их доступными через journalctl -u gogs.

Разверните раздел Настройки учётной записи администратора и заполните предлагаемые настройки.

Нажмите синюю кнопку «Установить Gogs».

Снова откройте главную страницу Gogs (если не открывалась автоматически) по прежнему адресу (http://ip:3000), теперь она выглядит так:

2022-07-04 16-55.png

В заголовке и подвале написано: «Гоша», что соответствует указанному при первоначальной настройке имени приложения.

Для изменения настроек можно отредактировать конфигурационный файл:

sudo nano /etc/gogs/app.ini

И перезапустить службу:

sudo systemctl restart gogs