Gitlab Pages, Hugo, SSL et Gandi

Table des Matières

Après un mois de non-disponibilité le blog est de retour. En apparance rien n’a changé mais sous le capot c’est un workflow complètement nouveau et plus agréable pour me permettre d’écrire plus.

Auparavant le blog était hébergé sur un mutualisé chez proxgroup.fr. Côté hébergement rien à dire en deux ans : Pas de plantages, les maintenances étaient annoncées et rapides. J’en garderai un très bon souvenir, et niveau support l’équipe est au top, les tickets trouvent rapidement un interlocuteur. Pour le nom de domaine j’étais également passé par proxgroup, qui offrait le .fr pour la première année d’hébergement.
L’hébergement servait pour le blog et pour de nombreux services comme nextcloud, Bozon et runalyze. Avec l’arrivé du Pi à la maison j’ai rapidement basculé mon instance Nextcloud sur mon serveur auto-hébergé et donc, je n’utilise mon hébergement mutualisé que pour le blog.

Un blog qui pèse moins de 20mo, constitué que de pages statiques et de ressources CSS générées avec Hugo. Alors pourquoi réserver tant d’espace pour si peu. Autant changer.

J’ai ainsi épluché plusieurs solutions :

Gitlab Pages chez Framagit

J’ai donc utilisé mon compte chez Framagit pour commencer à utiliser Gitlab Pages.

Les documentations expliquent très clairement comment mettre cela en place :

Quelques git init, commit et push plus tard les runners chez Framagit font leur boulot et le blog est généré en un rien de temps et disponible sur votre adresse frama.io (pour Framagit)

Gandi

Gitlab Pages offre la possibilité de rattacher un nom de domaine perso pour son utilisation, bloguslibrus.fr a donc transité de chez Proxgroup (enfin Bookmyname chez qui le premier gère les NDD) à Gandi.

Ainsi le blog est accessible à l’adresse https://bloguslibrus.fr (www.bloguslibrus.fr redirige vers la première). Il faut pour utiliser Pages avec son NDD aller éditer les enregistrements DNS.

Voilà ce que j’ai pour faire fonctionner tout cela :

@ 1800 IN A 144.76.206.44
@ 1800 IN AAAA 2a01:4f8:200:1302::44
@ 10800 IN MX 10 spool.mail.gandi.net.
@ 10800 IN MX 50 fb.mail.gandi.net.
@ 10800 IN SOA ns1.gandi.net. hostmaster.gandi.net. 1521801174 10800 3600 604800 10800
@ 1800 IN TXT "gitlab-pages-verification-code=codedeverificationpages"
www 10800 IN CNAME webredir.vip.gandi.net.

SSL

Le blog est donc en ligne, mais il manque tout de même un beau https pour que cela soit sympa.

Pour cela j’ai utilisé le client letsencrypt acme.sh. Il est rapide, sans dépendance et surtout il supporte la génération et certification avec l’API DNS de chez Gandi.

Il faut créer un token pour pouvoir utiliser l’API

acme.sh --issue -d bloguslibrus.fr --dns dns_gandi_livedns
# Le tout est généré dans  $HOME/.acme.sh/ndd
## La clé privée est le fichier .key
## le certificat complet est le fullchain.cer

Il ne reste plus qu’à éditer le nom de domaine crée dans Gitlab Pages, ajouter le contenu de nos deux fichiers et le tour est joué.

Je suis vraiment emballé par cette façon de gérer le blog, la génération et la publication sont plus rapides. De plus avec Termux je peux également avoir accès à mon dépôt git depuis mon smartphone afin de corriger rapidement des coquilles, accepter et ajouter des commentaires ou bidouiller un peu le thème.

Billets en liens :