Gogs

Материал из Rosalab Wiki
Версия от 17:43, 4 июля 2022; Mikhailnov (обсуждение | вклад) (Первоначальная настройка)

Перейти к: навигация, поиск

Введение

В этой статье описано, как на 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 следующих файла:

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

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

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

В рассматриваемом варианте установки оставим значение по умолчанию: 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