GOGS git-server

Op een Raspberry PI (2B) kan vrij eenvoudig een GIT server worden geïnstalleerd. Voor de RPi met ARMv6 processor is Gogs daar uitermate geschikt voor, als je tenminste met de basis van een GIT-server uit de voeten kunt want CI/CD zit hier niet in.

als eerste dient er een één van de volgende database servers geïnstalleerd te zijn:

  • mariaDB
  • MS-SQL
  • PostgeSQL
  • TiDB

Database Server

Eenvoudig is om mariaDB te installeren met:

$ sudo apt update
$ sudo apt install mariadb-server
$ sudo mysql_secure_installation

Zet nu een mysql root wachtwoord en accepteer de standaard waardes.

Er dient een gogs-database aangemaakt te worden en een mysql-gebruiker die hier toegang toe heeft. Dat doen we met mysql en het root wachtwoord dat zojuist aangemaakt is:

$ sudo mysql -u root -p
CREATE DATABASE gogsdb;
CREATE USER 'gogsuser'@'localhost' IDENTIFIED BY 'gogspassword';
GRANT ALL ON 'gogsdb.* TO 'gogsuser'@'localhost' IDENTIFIED BY 'gogspassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Mariadb willen we starten, ook als de RPi herstart wordt:

$ sudo systemctl enable mariadb-server
$ sudo systemctl restart mariadb-server

Gogs git server

Vervolgens de gogs-package downloaden en uitpakken met

$ wget https://dl.gogs.io/0.11.53/gogs_0.11.53_raspi2_armv6.zip
$ unzip gogs_0.11.53_raspi2_armv6.zip

In feite kun je nu de gogs-server al starten met

$ cd gogs
$ sudo ./gogs web

maar beter is het om hier een daemon van te maken en te enablen en starten (later dan de mysql-server) met systemctl. Dus:

$ sudo cp gogs/scripts/init/debian/gogs /etc/init.d/gogs
$ sudo chmod ug+x /etc/init.d/gogs
$ sudo update-rc.d gogs defaults 98

$ sudo systemctl daemon-reload
$ sudo systemctl enable gogs
$ sudo systemctl start gogs

De gogs server is nu bereikbaar op

http://localhost:3000

Als het goed is wordt de install-pagina getoond en hier dien je de mySQL-settings in te vullen voor de mysql-gebruiker zoals eerder in ingesteld.

Vervogens wordt gevraagd om de General Settings voor Gogs in te vullen en nadat de administration gebruiker is ingesteld is Gogs gereed voor gebruik!