Un Dev Lambda

Installer un serveur Gemini sur RaspberryPI

Pour la présentation du protocole Gemini, allez visiter le site officiel.

J'ai une RaspberryPI 1 Model B+ qui dormait dans mes affaires depuis très longtemps. Ayant découvert le protocole Gemini récemment, j'ai décidé de l'utiliser comme serveur Gemini.

Il existe plusieurs serveurs Gemini. J'ai choisi le projet Agate qui fournit un binaire pour architecture ARM, compatible donc avec ma RaspberryPI.

Installation & Configuration de Agate

J'ai choisi d'utiliser mon compte utilisateur (plutôt que de créer un compte spécifique au serveur) pour configurer Agate. J'ai donc créé l'arborescence suivante :

cd ~
mkdir bin
mkdir content

Nous allons maintenant créer un fichier index.gmi qui contiendra un texte d'exemple pour vérifier que l'installation est correcte.

cd ~/content
echo "# Vérification installation" > index.gmi

Ensuite, nous allons télécharger le binaire agate dans le dossier bin, comme suit :

cd ~/bin
wget https://github.com/mbrubeck/agate/releases/download/v3.3.0/agate.arm-unknown-linux-gnueabihf.gz
gunzip agate.arm-unknown-linux-gnuabihf.gz
mv agate.arm-unknown-linux-gnueabihf.gz agate
chmod +x agate

Nous allons exécuter agate à la main afin de vérifier que l'installation s'est correctement déroulée.

cd ~/bin
./agate --content /home/<votre_compte>/content --certs /home/<votre_compte>/.certificates --addr [::]:1965 --addr 0.0.0.0:1965 --hostname "votre.nom.de.domaine" --lang fr-FR

Avec votre client Gemini préféré, essayez maintenant d'accéder à votre instance Gemini. Vous devriez visualiser le contenu du fichier index.gmi.

Permettre le pilotage avec systemd

Actuellement, Agate doit être exécuté manuellement. Pour bénéficier du démarrage automatique, nous allons créer un service Agate pour systemd.

sudo vim /etc/systemd/system/agate.service

Veuillez renseigner le contenu suivant :

[Unit]
Description=agate
After=network.target

[Service]
User=<votre_compte>
Type=simple
ExecStart=/home/<votre_compte>/bin/agate --content /home/<votre_compte>/content --certs /home/<votre_compte>/.certificates --addr [::]:1965 --addr 0.0.0.0:1965 --hostname "votre.nom.de.domaine" --lang fr-FR

[Install]
WantedBy=default.target

Vous pouvez maintenant activer & démarrer le serveur Agate :

sudo systemctl enable agate
sudo systemctl start agate
sudo systemctl status agate

Et voilà ! Vous avez maintenant une RaspberryPI qui expose une capsule Gemini \o/.

Liens utiles

Projet Agate