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