Aller au contenu

Blog statique avec Hugo et thème Blowfish sur un serveur domestique

Rogelio Guerra Riverón
Auteur
Rogelio Guerra Riverón
Construction de ma propre infrastructure web depuis zéro. Je documente chaque étape : serveurs, réseaux, conteneurs et tout ce qui se présente.

Je documente depuis un moment mes projets d’infrastructure. Après avoir testé plusieurs options, j’ai décidé de créer un blog statique avec Hugo. La combinaison Hugo + Blowfish s’est avérée être exactement ce dont j’avais besoin : rapide, propre et facile à maintenir.

Pourquoi Hugo et Blowfish
#

Hugo est un générateur de sites statiques écrit en Go. Il est incroyablement rapide et ne nécessite ni base de données ni dépendances compliquées. Blowfish est un thème moderne, minimaliste et bien documenté. Les deux fonctionnent parfaitement sur un serveur domestique avec des ressources limitées.

Installation sur le serveur
#

La première étape a été d’installer Hugo. Dans mon cas, j’utilise Debian sur le serveur :

sudo apt-get update
sudo apt-get install hugo

Vérifier l’installation :

hugo version

Créer le site
#

J’ai initialisé le projet dans un dossier à l’intérieur de /home :

hugo new site mi-blog
cd mi-blog

Ajouter le thème Blowfish
#

J’ai cloné le référentiel du thème dans le dossier des thèmes :

git clone https://github.com/nunocoracao/blowfish.git themes/blowfish

Ensuite, j’ai mis à jour le fichier de configuration hugo.toml :

baseURL = "https://mi-dominio.local/"
languageCode = "es"
title = "Servicios Rogeliowar"
theme = "blowfish"

[params]
description = "Documentación técnica de infraestructura y servidores"
author = "Rogelio"

[menu]
[[menu.main]]
name = "Posts"
pageRef = "/posts"
weight = 10
[[menu.main]]
name = "Sobre mí"
pageRef = "/about"
weight = 20

Créer du contenu
#

Les articles vont dans le dossier content/posts/. Chacun est un fichier Markdown :

hugo new posts/mi-primer-articulo.md

Le fichier généré inclut un frontmatter YAML prêt à être édité :

---
title: "Mi Primer Artículo"
date: 2026-04-28
draft: false
---

Contenido del artículo aquí...

Serveur local pour les tests
#

Avant de publier, j’ai tout testé localement :

hugo server -D

Le site sera disponible à http://localhost:1313/. Le paramètre -D inclut les brouillons.

Générer les fichiers statiques
#

Une fois prêt, j’ai généré les fichiers HTML finaux :

hugo

Cela crée le dossier public/ avec tout le contenu compilé.

Servir avec Nginx
#

J’ai copié les fichiers générés dans le dossier Nginx :

sudo cp -r public/* /var/www/mi-blog/

J’ai configuré un bloc serveur dans Nginx :

server {
    listen 80;
    server_name mi-dominio.local;
    
    root /var/www/mi-blog;
    index index.html;
    
    location / {
        try_files $uri $uri/ =404;
    }
}

J’ai rechargé Nginx :

sudo systemctl reload nginx

Automatiser les compilations
#

Pour ne pas compiler manuellement chaque fois que j’écris un article, j’ai créé un script simple :

#!/bin/bash
cd /home/usuario/mi-blog
hugo
sudo cp -r public/* /var/www/mi-blog/
echo "Blog actualizado"

Je l’ai enregistré sous actualizar-blog.sh et je lui ai donné les permissions d’exécution :

chmod +x actualizar-blog.sh

Réflexion finale
#

Après une semaine d’utilisation de cette configuration, je peux dire qu’elle est solide. Hugo compile tout en moins d’une seconde, Blowfish a l’air professionnel sans avoir besoin de personnalisation extrême, et le serveur domestique gère tout sans problème.

Le meilleur : pas de base de données à sauvegarder, pas de plugins qui se cassent, pas de mises à jour de sécurité chaque semaine. Juste des fichiers statiques servis par Nginx. Exactement ce que je cherchais.


---

## Équipement recommandé

- **[Raspberry Pi 3 B+](https://amzn.to/4upmmwn)** — Serveur léger à faible consommation pour démarrer votre homelab
- **[Raspberry Pi 4 (4GB)](https://amzn.to/4utrPSX)** — La base parfaite pour homelab, Docker et monitoring

*Liens d'affiliation. Aucun coût supplémentaire pour vous.*