¡Ey! Hoy os traigo un tutorial que sé que os va a gustar. Vamos a montar n8n en un servidor totalmente gratis, sin pagar ni un duro de suscripciones. Sí, has leído bien: ¡GRATIS! Si te interesa automatizar procesos y conectar aplicaciones sin necesidad de saber programar, quédate que esto te va a cambiar la vida (o al menos te ahorrará tiempo y dinero).
El vídeo de youtube donde hablo de este tema:
¿Qué es n8n y por qué deberías prestarle atención?
Vamos al grano: n8n es una plataforma de automatización de flujos de trabajo de código abierto. Dicho en cristiano: puedes conectar aplicaciones y servicios para que hagan tareas automáticas sin tener que tocar una línea de código (aunque si sabes algo de JavaScript, puedes fliparlo aún más).
¿Por qué mola tanto?
- Código abierto: Es gratis y puedes modificarlo a tu gusto, sin limitaciones absurdas.
- Flexibilidad a otro nivel: Si controlas algo de JavaScript, puedes personalizar los flujos como te dé la gana.
- Interfaz visual: Montas todo arrastrando y soltando nodos, como si estuvieras jugando con Lego.
Ejemplos prácticos (o cómo te puede hacer la vida más fácil)
- Publicar automáticamente en redes sociales cuando subes un vídeo a YouTube.
- Automatizar tareas de administración, como enviar facturas o recordatorios.
- Conectar tus herramientas favoritas y hacerlas trabajar en equipo sin mover un dedo.
¿Qué lo diferencia de otros como Zapier o Integromat?
- Sin límites estrictos: Olvídate de los límites de flujos o ejecuciones, aquí mandas tú.
- Self-hosted: Lo instalas en tu propio servidor, así que tú tienes el control de tus datos (y no dependes de terceros).
Instalando n8n GRATIS (sí, GRATIS) en un Servidor Oracle
Vale, vamos al lío. Lo primero que necesitamos es un servidor, y antes de que digas “pero eso cuesta dinero”, te aviso: ¡NO! Puedes conseguir un servidor gratis de Oracle. De hecho, ya hice un tutorial sobre esto, échale un vistazo si no lo has visto aún.
Paso 1: Conectarse al servidor por SSH
Lo primero es conectarnos al servidor por SSH. ¿Cómo? Muy fácil:
ssh -i nombre_de_tu_clave_privada usuario@ip_del_servidor
Nota: La clave privada es la que guardaste al crear la instancia en Oracle. Si te da problemas, asegúrate de darle los permisos correctos con:
chmod 600 nombre_de_tu_clave_privada
O si estás en Windows
icacls "C:\ruta\de\tu\clave_privada.pem" /inheritance:r
icacls "C:\ruta\de\tu\clave_privada.pem" /grant:r "%USERNAME%:R"
Paso 2: Configurar el servidor y abrir puertos
Antes de nada, hay que abrir los puertos 80 y 443 en Oracle para que nuestro servidor sea accesible por HTTP y HTTPS. Si no sabes cómo hacerlo, en el tutorial de Oracle te explico paso a paso cómo configurar esto.
Paso 3: Actualizar el sistema operativo
Ya conectados al servidor, actualizamos el sistema operativo:
sudo apt update && sudo apt upgrade -y
Paso 4: Instalar Docker
Vamos a usar Docker para montar n8n. Instalamos Docker con los siguientes comandos:
sudo apt install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Paso 5: Instalar Caddy (Reverse Proxy)
Usaremos Caddy como reverse proxy para que nuestro contenedor de Docker esté accesible desde fuera. Esto es lo que tienes que hacer:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Paso 6: Configurar Docker Compose para n8n
Creamos la carpeta de n8n y el archivo docker-compose.yml
:
mkdir n8n
cd n8n
nano docker-compose.yml
Añadimos el siguiente contenido:
version: '2'
services:
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- 5678:5678
environment:
- GENERIC_TIMEZONE=Europe/Berlin
- WEBHOOK_URL=https://tu-dominio/
volumes:
- ./n8n_data:/home/node/.n8n
Creamos la carpeta para los datos persistentes y le damos permisos:
mkdir n8n_data
sudo chown -R 1000:1000 ./n8n_data
sudo chmod -R 755 ./n8n_data
Arrancamos el contenedor:
sudo docker compose up -d
elimina iptables sudo apt remove iptables-persistent
reinicia
sudo reboot now
Paso 7: Configurar Caddy para Acceso Público
Editamos el archivo de configuración de Caddy:
sudo nano /etc/caddy/Caddyfile
Añadimos esta configuración:
tu-dominio.com {
reverse_proxy localhost:5678 {
flush_interval -1
}
}
Validamos la configuración y reiniciamos Caddy:
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy
Paso 8: Vincular el dominio con el servidor
Vamos a nuestro proveedor de dominios (en mi caso uso Cloudflare) y añadimos un registro DNS que vincule nuestro dominio con la IP del servidor.
¡Listo! ¡Ya tienes n8n corriendo en tu servidor!
Si has seguido todos los pasos, deberías poder acceder a n8n desde tu dominio y empezar a automatizar tareas como un pro. ¿A qué esperas para probarlo?