Instalace Googs – open source alternativa GitHubu

Na Ubuntu 18.04 mi fungoval následující postup:

  • sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
  • wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
  • sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
  • sudo chown -R git: /home/git/gogs
  • sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
  • POZOR tento soubor NESMÍ být spustitelný
  • sudo systemctl start gogs
  • sudo systemctl enable gogs

V konfiguračním souboru je potřeba zapnout mail

  • /home/git/gogs/custom/conf/app.ini

Stará verze instalace

Ze serveru https://dl.gogs.io/ je nutné stáhnout binární distribuce a rozbalit ji do adresáře /home/git. Poprvé spustit gogs příkazem ./gogs web z tohoto adresáře a vše nastavit. První spuštění vytvoří soubor /home/git/gogs/custom/conf/app.ini a tam je potřeba nastavit přístup do mysql databáze a upravit sekci [repository] takto

  • [repository]
  • ROOT = /home/git/gogs-repo
  • ENABLE_LOCAL_PATH_MIGRATION = true

Vzhledem k tomu, že mi nefungovalo spuštění přes init.d, musel jsem použít postup přes supervisor:

    • sudo apt install supervisor
    • sudo mkdir /var/log/gogs
    • sudo cp home/git/gogs/scripts/supervisor/gogs /etc/supervisor/conf.d/gogs.conf

Stávající lokální repositář se tam převede přímo z webového rozhraní.

Pro přístup přes ssh se využije systémový ssh server, do souboru /home/git/.ssh/authorized_keys je jen potřeba dát odpovídající veřejné klíče.

Zálohování

  • do crontabu uživatele git přidat řádek
    • 50 19 * * 1-5 USER=git /home/git/gogs/gogs backup -target /mnt/git