Gogs
Введение
В этой статье описано, как на 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
, например:
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), теперь она выглядит так:
В заголовке и подвале написано: «Гоша», что соответствует указанному при первоначальной настройке имени приложения.
Для изменения настроек можно отредактировать конфигурационный файл:
sudo nano /etc/gogs/app.ini
И перезапустить службу:
sudo systemctl restart gogs