¿Quieres iniciar tu propio sitio web sin pagar por un hosting externo? ¡Estás de suerte!
Es muy fácil alojar un sitio web en una Raspberry Pi y puedes tenerlo funcionando este mismo fin de semana.
No necesitas la Raspberry Pi más nueva
Podrías pensar que necesitas una Raspberry Pi 5 para ejecutar un sitio web, pero en realidad puedes alojarlo en un modelo mucho más antiguo. Con una Raspberry Pi 3B en adelante, esto funcionará perfectamente como servidor web en la red local.
Aunque no será lo más rápida, puedes ejecutar un blog sin problemas. Eso sí, una Pi 4 sería aún mejor porque tiene un poco más de potencia.
En general, cualquier modelo de Raspberry Pi (excepto la línea Zero) es perfecto para sitios pequeños.
Si quieres escalar hacia un sitio más grande o manejar miles de usuarios concurrentes, sí necesitarás más potencia. Pero para un sitio pequeño, cualquiera sirve.
Docker será tu base de operaciones
Docker será el encargado de manejar el sitio web y todos los servicios relacionados en tu Raspberry Pi. Afortunadamente, instalarlo es bastante fácil.
Asumiremos que estás usando una Raspberry Pi con Raspberry Pi OS. Para instalar Docker, solo sigue las instrucciones de instalación para Debian y estarás listo rápidamente.
Después, te recomiendo instalar Portainer, que facilita mucho la gestión de contenedores Docker con una interfaz web. Aunque puedes usar solo Docker Compose por línea de comandos si prefieres.
Debes preparar un archivo Docker Compose que despliega todo lo necesario: **Nginx Proxy Manager, ddclient, Ghost y una base de datos MySQL para Ghost.
Solo necesitarás ajustar algunos valores como claves y contraseñas.
Elige un nombre de dominio
Antes de desplegar el sitio, necesitas un dominio. Yo recomiendo Cloudflare que ofrece un servicio gratuito de DNS dinámico.
Anteriormente he usado Google Domains y Namecheap, pero ahora uso Cloudflare exclusivamente.
Compra el dominio que te guste o usa uno que ya tengas.
Configura DNS dinámico para tu dominio
Con DNS dinámico, tu dirección IP se actualiza automáticamente en tu dominio cuando cambia (algo común si tienes IP dinámica).
Cloudflare permite hacer esto mediante su API. El contenedor ddclient que incluí en el archivo Docker Compose lo gestiona por ti, también funciona con otros proveedores compatibles.
- En Cloudflare, crea un token de API con permisos para editar los registros DNS del dominio.
- Usa ese token en el archivo
ddclient.conf(te dejo un ejemplo en GitHub). - Añade tu dominio (por defecto actualiza el registro raíz
@, o seatudominio.com, pero puedes añadirwww,blog, etc.).
Nginx Proxy Manager gestiona el tráfico y los certificados SSL
Una vez desplegado Nginx Proxy Manager:
- Crea un proxy host con tu dominio, la IP local de la Raspberry Pi y el puerto 2368 (por defecto para Ghost).
- En la pestaña SSL, genera un nuevo certificado SSL gratuito para cifrar las conexiones.
Ghost es la mejor plataforma web para principiantes
Ghost es:
- Ligero.
- Fácil de usar.
- Basado en Markdown para escribir artículos y páginas.
- Ideal para blogs o sitios de membresía.
Ghost no es un CMS con mil funciones como WordPress, pero eso lo hace rápido y enfocado.
Una función destacada: puedes integrar membresías y suscripciones usando Stripe. Así, puedes crear un blog tipo Substack o Patreon, ¡pero alojado por ti mismo!
Solo asegúrate de:
- Actualizar la variable de entorno
URLdel contenedorghost-servercon tu dominio. - Generar una contraseña segura para la base de datos y ponerla en
ghost-serveryghost-db.
Espera un poco al desplegar todo
En mi experiencia, levantar el sitio en una Raspberry Pi 3B tomó entre 15 y 20 minutos, especialmente por el tiempo que tarda en iniciar MySQL.
Aprovecha ese rato para revisar tu red.
Asegúrate de configurar el reenvío de puertos en tu router
Para que tu sitio sea accesible desde Internet:
- Abre los puertos 80 (HTTP) y 443 (HTTPS) en tu router.
- Redirígelos a los puertos internos 8080 y 4443, respectivamente (usados por Nginx Proxy Manager).
Cada router es distinto, así que revisa el manual o soporte técnico de tu proveedor si tienes dudas.
Esto debería ser suficiente. 😉
Preguntas frecuentes sobre alojar un sitio web en una Raspberry Pi
¿Necesito la Raspberry Pi más nueva para alojar un sitio web?
No. Una Raspberry Pi 3B en adelante es suficiente para un sitio web básico. La Pi 4 es más potente, pero cualquier modelo (excepto la Zero) puede funcionar para proyectos pequeños.
¿Qué software necesito instalar?
Debes instalar Docker y, opcionalmente, Portainer para facilitar la gestión. También necesitarás Docker Compose para desplegar contenedores como Ghost, MySQL, Nginx Proxy Manager y ddclient.
¿Cómo consigo un dominio para mi sitio?
Puedes registrar uno en proveedores como Cloudflare, Namecheap o Google Domains. Se recomienda Cloudflare por su DNS gratuito y soporte para DNS dinámico.
¿Qué es el DNS dinámico y por qué lo necesito?
Es un sistema que actualiza automáticamente tu dominio con tu IP pública, útil si tu proveedor de internet cambia la IP con frecuencia. Puedes configurarlo usando ddclient y la API de Cloudflare.
¿Cómo habilito HTTPS en mi sitio web?
Con Nginx Proxy Manager puedes generar certificados SSL gratuitos usando Let’s Encrypt. Solo debes configurar un proxy host con tu dominio y activar SSL desde su panel.
¿Por qué se recomienda Ghost como plataforma web?
Ghost es liviano, fácil de usar y centrado en blogs y membresías. Soporta Markdown, suscripciones y pagos con Stripe, ideal si quieres un blog moderno y autogestionado.
¿Qué puertos debo abrir en mi router?
Debes abrir los puertos 80 (HTTP) y 443 (HTTPS) y redirigirlos a los puertos internos 8080 y 4443, que usa Nginx Proxy Manager para servir el sitio.
¿Cuánto tiempo tarda en estar operativo el sitio?
Entre 15 y 20 minutos en una Raspberry Pi 3B. MySQL suele tardar un poco en arrancar, así que ten paciencia mientras se inicializa el stack.
Artículos Relacionados
Descubre más desde CIBERED
Suscríbete y recibe las últimas entradas en tu correo electrónico.
