L'installation est faite après avoir installé Raspbian Buster Lite sur la carte SD (16Go au minimum) de la Raspberry PI, le Desktop n'offrant aucun intérêt pour un usage serveur de la Raspi. Toute l'installation est faite en ssh.

L'installation décrite ici est inspirée de l'installation officielle, moyennant quelques aménagements glanés ici et là. Vous trouverez les sources en bas de page.

1 . Charger le scrypt d'installation

curl -s https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash


2 . Modifier les sources

A ce jour GitLab n'est pas présent dans les paquets de la version Buster de Raspbian, il faut aller le chercher dans les paquets de Stretch.

cd /etc/apt/sources.list.d

sudo nano gitlab_raspberry-pi2.list

Remplacer buster par stretch dans les deux dépôts.

deb https://packages.gitlab.com/gitlab/raspberry-pi2/raspbian/ stretch main
deb-src https://packages.gitlab.com/gitlab/raspberry-pi2/raspbian/ stretch main


3 . Mettre à jour les sources

sudo apt-get update -y


4 . Installer le serveur de mails

sudo apt-get install postfix

(choisir : site internet)


5 . Configurer une SWAP de 4Go

sudo nano /etc/dphys-swapfile

Changer la valeur de CONF_SWAPFILE=100 pour CONF_SWAPFILE=4096

Autoriser le dépassement des 2Go de SWAP en changeant la valeur de #CONF_MAXSWAP=2048 pour CONF_MAXSWAP=4096


6 . Installer GitLab CE

sudo apt-get install gitlab-ce


7 . Changer l'url du serveur

sudo nano /etc/gitlab/gitlab.rb

Changer la valeur de l'external_url : https://monserveurGitLab.fr

Notez qu'il faut bien déclarer l'adresse en https si on souhaite utiliser un accès sécurisé (il faut avoir un certificat, via Let's Encrypt par exemple). Il faut bien sûr remplacer monserveurGitLab.fr par votre adresse.


8 . Réduire la charge en mémoire

(J'ai moi même annulé cette modification, la carte Raspberry était incontrôlable)

Toujours dans /etc/gitlab/gitlab.rb

Modifier ou ajouter les lignes suivantes :

unicorn'worker_processes' = 2
sidekiq'concurrency' = 9
prometheus_monitoring'enable' = false

Après suppression de cette modification, la carte Raspberry Pi reste tout à fait gérable avec une charge de 50% de la RAM. Notez que l'installation complète occupe moins de 10Go sur la carte SD :

9 . Configurer et démarrer GitLab

sudo gitlab-ctl reconfigure


10 . Accès au serveur

Le serveur est accessible en http sur le port 80 ou en https sur le port 443.
Il suffit de créer une règle nat sur la box pour accéder de l'extérieur.

Le compte d'administration par défaut est root et le mot de passe est enregistré lors de la première connexion.



Sources :

https://about.gitlab.com/install/#raspberry-pi-2
https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4461
https://docs.gitlab.com/omnibus/settings/rpi.html