Gogs

Gogs to manager repozytoriów Git napisany w Go.

Wstępna konfiguracja

Do uruchomienia Gogs należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Zarezerwowano jeden port tcp.
  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana Strona WWW z wskazaniem typu Proxy na zarezerwowany wcześniej port.
  • Stworzono bazę MySQL bądź PostgreSQL.
  • Włączono możliwość korzystania z własnego oprogramowania - Binexec.
  • Skonfigurowano skrzynkę pocztową w zarezerwowanej domenie (opcjonalnie).

Instalacja Gogs

Gogs trzeba zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia:

wget https://github.com/gogs/gogs/archive/refs/tags/v0.13.0.zip
unzip v0.13.0.zip
cd gogs-0.13.0
go build -o gogs

Pierwsze uruchomienie

Serwer należy uruchomić poleceniem nohup ~/gogs-0.13.0/gogs web -p zarezerwowany port&. Następnie należy uruchomić przeglądarkę internetową i wejść na wcześniej skonfigurowaną domenę oraz wypełnić dane instalacyjne w formularzu.

Automatyczne uruchomienie po restarcie

Z racji konieczności ręcznego startu gogs, przedstawiamy proces automatyzacji startu w razie restartu serwera hostującego.

Utworzyć w katalogu domowym plik gogscron.sh o treści:

#!/bin/bash
export PATH=$HOME/bin:$PATH
nohup ~/gogs-0.13.0/gogs web -p numer_zarezerwowanego_portu

Ustawić możliwość wykonywania skryptu: chmod +x gogscron.sh

Celem automatycznego startu Gogs po restarcie serwera, należy w tabeli Cron (uruchomienie edycji z poziomu wiersza poleceń crontab -e) linijkę @reboot /home/login/gogscron.sh Gdzie login to nazwa loginu konta hostingowego.

Integracja z repozytoriami MyDevil.net

Istnieje możliwość korzystania z Gogs z naszymi repozytoriami Git. Wystarczy stworzyć link symboliczny do wybranego repo:

cd /home/login/gogs-repositories/gogs_login/
rm -r gogs_repo.git
ln -s /home/login/repo/git/widoczność_repo/nazwa_repo gos_repo.git

SSH

Gogs domyślnie blokuje dostęp SSH do konta hostingowego. Umożliwia on jednak uruchomienie swego własnego wewnętrznego serwera SSH.

Linki Zewnętrzne