¡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.
¿Cómo actualizar n8n cuando sale una nueva versión?
Una de las ventajas de usar Docker es que actualizar es súper sencillo. Cuando n8n saque una nueva versión, solo tienes que seguir estos pasos:
Paso 1: Conectarse al servidor
Conéctate a tu servidor por SSH como hicimos al principio:
ssh -i nombre_de_tu_clave_privada usuario@ip_del_servidor
Paso 2: Ir a la carpeta de n8n
Navegamos a la carpeta donde está nuestro docker-compose.yml:
cd n8n
Paso 3: Detener el contenedor actual
Paramos el contenedor que está corriendo:
sudo docker compose down
Paso 4: Descargar la nueva imagen
Docker descargará automáticamente la última versión de n8n:
sudo docker compose pull
Paso 5: Levantar el contenedor con la nueva versión
Arrancamos el contenedor de nuevo con la versión actualizada:
sudo docker compose up -d
¡Y listo! Así de fácil. Docker se encargará de descargar la última imagen de n8n y actualizar tu instalación. Tus datos y flujos de trabajo se mantendrán intactos porque están guardados en el volumen n8n_data.
Verificar la versión instalada
Si quieres comprobar qué versión de n8n estás usando, puedes hacerlo accediendo a n8n desde tu navegador y yendo a Settings > About n8n, o ejecutando:
sudo docker exec -it n8n-n8n-1 n8n --version
Consejo Pro: Te recomiendo hacer un backup de la carpeta
n8n_dataantes de actualizar, por si acaso. Nunca está de más tener una copia de seguridad:
sudo tar -czf n8n_backup_$(date +%Y%m%d).tar.gz n8n_data/
¡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. Y ahora que sabes cómo actualizarlo, siempre tendrás las últimas funcionalidades disponibles. ¿A qué esperas para probarlo?