Hugo Server en lugar de NGINX o Apache para autoalojar tu sitio web

Advertencia: Este artículo tiene más de 365 días.

Cuando hablamos de publicar un sitio web en Internet desde tu propia máquina o servidor, lo más normal es que NGINX y Apache sean las soluciones más utilizadas. Ambos son servidores web robustos, que cuentan con una gran comunidd y una amplia documentacion.

Sin embargo, si estás utilizando Hugo para generar tu sitio estático, Hugo Server es más que suficiente, especialmente si buscas simplicidad, velocidad y facilidad de desarrollo.

¿Qué es Hugo y qué es Hugo Server?

Hugo es un generador de sitios estáticos, escrito en Go. Convierte tu contenido escrito en Markdown y tus plantillas en un sitio web HTML listo para ser publicado.

Hugo Server, por otro lado, es un servidor de desarrollo incorporado que permite visualizar y probar tu sitio localmente. Tiene soporte para recarga automática (live reload) y que también puede ser útil si quieras publicar rápidamente sin configurar un servidor web completo.

Ventajas de usar hugo server directamente

Simplicidad total

No necesitas instalar ni configurar un servidor web adicional. Un solo comando (hugo server --bind 0.0.0.0 --baseURL http://tu-ip:1313/) y tu sitio está listo y accesible en la red.

Velocidad de despliegue

Ideal para proyectos personales,, puedes tener el sitio online en segundos.

Recarga en vivo (live reload)

Cualquier cambio que hagas en el contenido o diseño se refleja automáticamente en el navegador sin tener que refrescar manualmente.

¿Por qué NO usar NGINX o Apache?

Cuando necesitas soporte para PHP, NGINX o Apache siguen siendo las mejores opciones, pero si:

  • Solo necesitas servir HTML/CSS/JS estáticos

  • Quieres evitar complicaciones técnicas

  • Buscas portabilidad y rapidez

Entonces usar hugo server puede ser más que suficiente.

¿Puedo usar Hugo Server en producción?

Aunque Hugo Server está diseñado principalmente para desarrollo, puedes usarlo para servir sitios públicos como:

  • Proyectos personales o portafolios.

  • Sitios de documentación internos o de acceso limitado.

  • Presentaciones en vivo o demos temporales.

  • Servidores caseros o Raspberry Pi para autoalojamiento básico.

Por ejemplo con el comando:

hugo server --bind 0.0.0.0 --baseURL http://mi-ip-público:1313/ --appendPort=false --disableLiveReload

Puedes servir tu sitio web hacía el exterior.. Solo debes de abrir el puerto correspondiente en tu firewall o router y redirigirlo hacía el servidor.

Hugo Server en Unraid

Este sitio web está autoalojado en un servidor Unraid mediante la aplicación Hugo disponible en las Community Applications, editando la plantilla para utilizar el repositorio HugoMods

Plantilla de Hugo en Community Applications de Unraid

Por defecto la versión de la plantilla disponible de Hugo en Unraid instala Hugo desde el repositorio de klakegg cuya última versión en el momento de escribir este artículo es la 0.111.3, yo he instalado una versión extendida de Hugo más actualizada que está disponible en el repositorio de HugoMods

Cambia a la vista avanzada y modifica el repositorio para utilizar la versión de HugoMods

Configuración del repositorio de Hugo en vista avanzada

Repositorio cambiado a hugomods/hugo:exts

Donde:

  • Repositorio: hugomods/hugo:exts
  • Argumentos adicionales: server -e production -b https://elblogdelazaro.org –appendPort=false –minify
    • Cambia El Blog de Lázaro por el de tu nombre de dominio
    • appendPort=false no agregua el :1313 al final de la dirección
    • minify minifica el HTML, CSS y JS**, es decir, que lo hace más liviano
    • /mnt/user/appdata/hugo/site es la ubicación donde se ubica el sitio web

Ruta del sitio y argumentos adicionales en Hugo

Conclusión

Si buscas una forma sencilla y rápida de servir un sitio web estático, Hugo Server puede ser una alternativa frente a soluciones tradicionales como NGINX o Apache.

No reemplaza todas sus funcionalidades, pero para un sitio personal o de bajo tráfico, es todo lo que necesitas.

Espero que te haya gustado, pasa un gran día 🐧