Gitea est un logiciel de forge informatique basé sur git. Il est plus léger que des équivalents comme Gitlab.
La VM est herbergé sur le virtualiseur merlin. Elle a pour ip 10.128.0.60
et pour FQDN gitea.adm.auro.re
.
Le service est lui accesible sur https://gitea.auro.re/. La connexion s'éffectue uniquement via le LDAP (même identifiants que partout). Les autres moyens d'authentification sont désactivés. L'inscription est désactivée.
Documentation utile : https://docs.gitea.io/en-us/
Nota : Gitea se prononce /ɡɪ’ti:/
Le service Gitea tourne sur la VM gitea.adm.auro.re
La BDD Postgres de Gitea est hebergé sur services-bdd-local.adm.auro.re. La BDD se nomme gitea et est géré par l'user gitea. Elle est rendu accessible en réseau vers la VM gitea. La documentation se trouve ici : https://wiki.auro.re/technique:services:services-local-bdd
Les données sont stockés sur le NAS dans un dataset ZFS qui se nomme gitea et partagé en NFS. Le NAS est accessible sur perceval.adm.auro.re et la documenation est ici : https://wiki.auro.re/technique:services:nas
La reverse-proxification du service (web et ssh) est effectué par nginx sur proxy.adm.auro.re
. Les ports 3000
(plutot que 8080
) est déservi pour le web. Le port 2222
est déservi pour le ssh. Le certificat pour gitea.auro.re
est automatiquement généré par certbot.
Une copie locale des recettes dockers est accesible dans :
/var/local/docker/docker-gitea
Elle est aussi accessible en ligne sur Gitea lui même : https://gitea.auro.re/aurore/docker-gitea
L'utilisateur git doit avoir l' uid 1000 et le gid 1000. À Aurore il s'agit historique de l'utilisateur aurore
dans le LDAP. On va donc devoir créer un utilisateur avec un autre uid. On choisit logiquement 1001.
# useradd -u 1001 git
La commande useradd créer automatiquement un utilisateur avec même gid que son uid. On peut vérifier :
$ id 1001
uid=1001(git) gid=1001(git) groupes=1001(git)
Le Reverse Proxy est géré par Ansible. Dans sa configuration dans le fichier host_vars/proxy-local.adm.auro.re.yml
, on ajoute dans la section nginx.reverseproxy_sites :
reverseproxy_sites:
- from: gitea.auro.re
to: "10.128.0.60:3000"
On doit également ajouter un module pour pouvoir rediriger les connexions SSH sur le port 2222
vers la VM Gitea. Cela permet notamment les git clone/pull/push par clé ssh, bien plus pratique que par https. On ajoute dans la section nginx.redirect_tcp :
redirect_tcp:
- name: Gitea
port: 2222
destination: "10.128.0.60:2222"
On ajoute enfin le nom de domaine gitea.auro.re dans la configuration de certbot.
Pour mettre à jour gitea on change le numéro de version dans le docker-compose.yml
:
image: gitea/gitea:1.12.4
On remplace 1.12.4 (le numéro de version au moment de l'installation, mais qui pourrait être autre chose au moment de la lecture de cette page) par le nouveau numéro de version que l'on peut trouver sur dockerhub.
Puis on relance docker :
# docker-compose up -d
On peut effectuer des backups et les resorter : https://docs.gitea.io/en-us/backup-and-restore/
Des snapshots journalières de la databse ZFS sont effectuées sur perceval par un cron.