Blog estático con Hugo y tema Blowfish en un servidor doméstico
Etiquetas: hugo,blowfish,blog,servidor doméstico,sitios estáticosLlevo un tiempo queriendo documentar mejor mis proyectos de infraestructura. Después de probar varias opciones, decidí montar un blog estático con Hugo. La combinación de Hugo + Blowfish resultó ser exactamente lo que necesitaba: rápido, limpio y fácil de mantener.
Por qué Hugo y Blowfish
Hugo es un generador de sitios estáticos escrito en Go. Es increíblemente rápido y no requiere base de datos ni dependencias complicadas. Blowfish es un tema moderno, minimalista y bien documentado. Ambos se llevan bien en un servidor doméstico con recursos limitados.
Instalación en el servidor
Lo primero fue instalar Hugo. En mi caso uso Debian en el servidor:
sudo apt-get update
sudo apt-get install hugo
Verificar la instalación:
hugo version
Crear el sitio
Inicialicé el proyecto en una carpeta dentro de /home:
hugo new site mi-blog
cd mi-blog
Agregar el tema Blowfish
Cloné el repositorio del tema en la carpeta de temas:
git clone https://github.com/nunocoracao/blowfish.git themes/blowfish
Luego actualicé el archivo de configuración 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
Crear contenido
Los artículos van en la carpeta content/posts/. Cada uno es un archivo Markdown:
hugo new posts/mi-primer-articulo.md
El archivo generado incluye frontmatter YAML listo para editar:
---
title: "Mi Primer Artículo"
date: 2026-04-28
draft: false
---
Contenido del artículo aquí...
Servidor local para pruebas
Antes de publicar, probé todo localmente:
hugo server -D
El sitio estará disponible en http://localhost:1313/. El parámetro -D incluye borradores.
Generar archivos estáticos
Una vez listo, generé los archivos HTML finales:
hugo
Esto crea la carpeta public/ con todo el contenido compilado.
Servir con Nginx
Copié los archivos generados a la carpeta de Nginx:
sudo cp -r public/* /var/www/mi-blog/
Configuré un bloque servidor en Nginx:
server {
listen 80;
server_name mi-dominio.local;
root /var/www/mi-blog;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Recargué Nginx:
sudo systemctl reload nginx
Automatizar las compilaciones
Para no compilar manualmente cada vez que escribo un artículo, creé un script simple:
#!/bin/bash
cd /home/usuario/mi-blog
hugo
sudo cp -r public/* /var/www/mi-blog/
echo "Blog actualizado"
Lo guardaré como actualizar-blog.sh y le daré permisos de ejecución:
chmod +x actualizar-blog.sh
Reflexión final
Después de una semana usando esta configuración, puedo decir que es sólida. Hugo compila todo en menos de un segundo, Blowfish se ve profesional sin necesidad de customización extrema, y el servidor doméstico maneja todo sin problemas.
Lo mejor: no hay base de datos que respaldar, no hay plugins que romperse, no hay actualizaciones de seguridad cada semana. Solo archivos estáticos servidos por Nginx. Exactamente lo que buscaba.
«`
Equipamiento recomendado
- Raspberry Pi 3 B+ — Servidor ligero de bajo consumo para empezar tu homelab
- Raspberry Pi 4 (4GB) — La base perfecta para homelab, Docker y monitorización
Enlaces de afiliado. Sin coste extra para ti.