Installation service Gitea

De EjnTricks

Gitea a été installé depuis les binaires fournis pour Linux. Le déploiement a été réalisé dans le répertoire /var/opt/gitea.

Cet article présente la mise en place d'un service avec SystemD, en suivant la documentation officielle.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Study icon.png Modèle déclaration

Un modèle de définition est fourni sur le site officiel, fichier gitea.service, dont le contenu est le suivant.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gitea
ExecStart=/home/git/gitea/gitea web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

Les lignes surlignées doivent être adaptées en fonction de l'installation réalisée.


Folder-icon.png Initialisation

Le fichier de paramétrage, gitea.service, est initialisé dans le répertoire /lib/systemd/system avec les mêmes permissions que les autres fichiers.

#sudo touch /lib/systemd/system/gitea.service
#sudo chown root:root /lib/systemd/system/gitea.service
#sudo chmod 644 /lib/systemd/system/gitea.service


Configuration-icon.png Paramétrages

Pour mémoire, le compte de service mis en place est gitea. Pour faliciter les montées de versions, le lien /var/opt/gitea/gitea a été mis en place pour référencer la version active. C'est ce lien qui doit être utilisé pour spécifier la commande de démarrage. Enfin, des répertoires ont été créés afin d'organiser les binaires et les données. Ceux-ci sont repris dans la configuration dont le contenu est le suivant.

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/usr/share/gitea/home
ExecStart=/var/opt/gitea/gitea web
Restart=always
Environment=USER=gitea HOME=/usr/share/gitea

[Install]
WantedBy=multi-user.target

A noter que l'installation a été réalisée sur une base de données MySQL, et l'instruction After=mysqld.service a été activée.


Run-icon.png Création service

La déclaration du service s'effectue via la commande systemctl enable en fournissant l'emplacement du fichier, créant tous les liens nécessaires.

#sudo systemctl enable /lib/systemd/system/gitea.service
Created symlink /etc/systemd/system/multi-user.target.wants/gitea.service → /lib/systemd/system/gitea.service.

Pour le démarrer il suffit alors d'exécuter la commande systemctl avec l'argument start.

#sudo systemctl start gitea


Viewer icon.png Voir aussi

Documentation officielle: https://docs.gitea.io/en-us/linux-service/