¡Hola! Si has llegado aquí, probablemente estés buscando una guía completa para instalar n8n en un servidor con Debian 12. ¡Estás en el lugar correcto! A continuación, te detallo cada paso necesario para que puedas tener esta poderosa herramienta de automatización corriendo en tu sistema de forma eficiente. Vamos a ello.
Preparar el sistema operativo
Lo primero es asegurarnos de que nuestro sistema esté actualizado y listo para instalar n8n.
Actualizar el sistema
Inicia sesión como usuario root y actualiza el sistema:
su - apt update && apt upgrade -y
Instalar herramientas básicas
Ejecuta este comando para instalar utilidades esenciales:
apt install sudo curl wget nano ufw software-properties-common -y
Configurar el firewall (opcional)
Para mayor seguridad, habilita el firewall y permite el acceso SSH:
ufw allow OpenSSH ufw enable
Crear un usuario dedicado para n8n
Es una buena práctica usar un usuario dedicado para ejecutar n8n.
Crea el usuario:
adduser n8n
Configura una contraseña cuando te lo solicite. Luego, agrega al usuario al grupo sudo:
usermod -aG sudo n8n
Por último, cambia al usuario recién creado:
su - n8n
Instalar Node.js y npm
n8n requiere Node.js para funcionar, así que vamos a instalarlo.
Instalar Node Version Manager (nvm)
Descarga e instala nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash source ~/.bashrc
Instala la versión 20 de Node.js (compatible con n8n):
nvm install 20 nvm use 20
Verifica las versiones instaladas:
node -v npm -v
Configurar npm para evitar problemas de permisos
Crea un directorio para paquetes globales:
mkdir -p ~/.npm-global
Configura npm para usar este directorio:
npm config set prefix '~/.npm-global'
Edita el archivo .bashrc
y añade la ruta para npm:
nano ~/.bashrc
Añade esta línea al final del archivo:
export PATH="$HOME/.npm-global/bin:$PATH"
Aplica los cambios:
source ~/.bashrc
Instalar n8n
Ahora, instala n8n globalmente:
npm install -g n8n
Verifica la instalación ejecutando:
n8n
Esto debería iniciar el servidor en http://localhost:5678
. Pulsa Ctrl + C para detenerlo. Deberias ver una pantalla parecida a esta.
Configurar n8n como un servicio
Para ejecutar n8n como un servicio del sistema, sigue estos pasos:
- Cambia al usuario root:
exit su -
- Crea un archivo de servicio:
nano /etc/systemd/system/n8n.service
- Añade esta configuración:
[Unit] Description=n8n Automation Tool After=network.target [Service] Type=simple User=n8n ExecStart=/home/n8n/.npm-global/bin/n8n Restart=on-failure Environment=NODE_ENV=production Environment=GENERIC_TIMEZONE=Europe/Madrid Environment=N8N_SECURE_COOKIE=false [Install] WantedBy=multi-user.target
- Recarga la configuración de systemd:
systemctl daemon-reload
- Habilita y arranca el servicio:
systemctl enable n8n systemctl start n8n
- Verifica que el servicio esté funcionando:
systemctl status n8n
Acceso a n8n
Acceder localmente
Si estás en el mismo servidor, abre un navegador y ve a:
http://localhost:5678
Configurar acceso remoto con Nginx y HTTPS (opcional)
Si necesitas acceder desde otro dispositivo, configura un proxy inverso con Nginx:
- Instala Nginx:
sudo apt install nginx -y
- Crea una configuración de proxy inverso:
sudo nano /etc/nginx/sites-available/n8n
- Añade esta configuración:
server { server_name tu-dominio.com; location / { proxy_pass http://localhost:5678; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
- Activa la configuración y reinicia Nginx:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ sudo systemctl restart nginx
- (Opcional) Configura HTTPS con Certbot:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx
¡Y listo! Ahora tienes n8n funcionando en tu servidor Debian 12. Si tienes dudas o necesitas ajustar algo, recuerda que siempre puedes regresar a esta guía. ¡Disfruta automatizando tareas con n8n!
⬇️¡Sigue, comenta y comparte! ⬇️