Création de service Gogs avec Systemd

Gogs est une cms multiplateforme basée sur le gestionnaire de code git écrite en Go. Il est libre et disponible sous licence MIT. Il est très léger et peut fonctionner sur carte ARM (raspberry par exemple) et peut donc être auto-hébergé. Gogs dispose d’une interface web similaire à celle de GitHub. Pour installer gogs je vous invite à consulte l’article sur l’installation de gogs qui est très simple et rapide.

La création du service sera faite sous

pi@serverlocal:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian

Pour ce billet mon installation gogs se situe dans :

/var/www/html/gogs

On va déployer gogs en service permettant ainsi de le contrôler via systemd

Création d’un fichier de configuration pour notre service gogs

sudo nano /etc/systemd/system/gogs.service

On y ajoute ce contenu, si vous avez installé différemment pensez à adapter

[Unit]
Description=Gogs (Go Git Service)
After=syslog.target
After=network.target
After=mysqld.service

[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/www/html/gogs
ExecStart=/var/www/html/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

A présent on peut contrôler le service Gogs via les commandes systemd

#démarrer le service
sudo systemctl start gogs.service
#status actuel du service
sudo systemctl status gogs.service
#arrêt du service
sudo systemctl stop gogs.service
#lancement du service au démarrage
sudo systemctl enable gogs.service
#désactiver le lancement au démarrage
sudo systemctl disable gogs.service

Rendue Finale du service

sudo systemctl status gogs.service
● gogs.service - Gogs (Go Git Service)
   Loaded: loaded (/etc/systemd/system/gogs.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Aug 01 09:22:42 babylone systemd[1]: Started Gogs (Go Git Service).
Aug 01 09:22:42 babylone gogs[7650]: 2019/08/01 09:22:42 [TRACE] Custom path: /var/www/html/gogs/custom
Aug 01 09:22:42 babylone gogs[7650]: 2019/08/01 09:22:42 [TRACE] Log path: /var/www/html/gogs/log
Aug 01 09:22:42 babylone gogs[7650]: 2019/08/01 09:22:42 [TRACE] Log Mode: File (Trace)
Aug 01 09:22:42 babylone gogs[7650]: 2019/08/01 09:22:42 [ INFO] BabyloneCode 0.9.141.0211
Aug 01 09:23:06 babylone gogs[7650]: [Macaron] 2019-08-01 09:23:06: Started GET /explore/repos for 192.168.10.69
Aug 01 09:23:06 babylone gogs[7650]: [Macaron] 2019-08-01 09:23:06: Completed /explore/repos 200 OK in 249.233479ms
Aug 01 09:23:16 babylone systemd[1]: Stopping Gogs (Go Git Service)...
Aug 01 09:23:16 babylone systemd[1]: Stopped Gogs (Go Git Service).

Laisser un commentaire