Cómo instalar n8n y autoalojarlo en un VPS Ubuntu

n8n es una herramienta de automatización del flujo de trabajo que permite una integración perfecta entre varias aplicaciones y API.
La posibilidad de autoalojarlo en un VPS Ubuntu proporciona una mayor privacidad de los datos, opciones de personalización y ahorro de costes en comparación con las soluciones gestionadas.
Esta guía cubre dos métodos de instalación: la sencilla configuración de un solo clic de Hostinger y una instalación manual para los usuarios que prefieren el control práctico.
Al final de este tutorial, tendrás una instancia n8n completamente funcional ejecutándose en tu VPS, lista para automatizar flujos de trabajo.
Tabla de Contenidos
Requisitos previos
Antes de instalar n8n, asegúrate de que tu entorno de alojamiento cumple los siguientes requisitos:
- Servidor privado virtual (VPS) Ubuntu
Mínimo: 1 vCPU, 1 GB RAM (KVM1)
Recomendado: 2 vCPU, 2 GB RAM (KVM2)
Si aún no tienes uno, Hostinger ofrece una gama de opciones de VPS, incluyendo el alojamiento VPS n8n.
- Dominio/subdominio: opcional, pero recomendado para configurar HTTPS y facilitar el acceso.
- Acceso a tu VPS: necesitarás conectarte a tu VPS a través de SSH (se requiere root) o utilizando un panel de control de hosting (como hPanel).
- Docker: si estás siguiendo el enfoque manual, asegúrate de que Docker está instalado en tu VPS (no es necesario para la plantilla).
Cómo instalar n8n en Hostinger utilizando su plantilla VPS
Empecemos por el método más sencillo: utilizar la plantilla n8n de un solo clic de Hostinger. Este método automatiza la configuración del servidor Ubuntu e instala n8n y sus dependencias.
1. Acceder al panel de control del VPS
En primer lugar, debes acceder al panel de control de tu VPS.
- Ve a hPanel e inicia sesión usando tu método preferido.
- Una vez que hayas iniciado sesión, navega a la sección VPS en el menú de la izquierda.
- Elige el VPS al que deseas aplicar la plantilla n8n y pulsa el botón Gestionar situado junto a él.
2. Instalar la plantilla n8n
- Una vez en el panel de control del VPS, abre el menú desplegable Sistema operativo y panel de la izquierda y selecciona Sistema operativo.
Aquí es donde puedes encontrar los sistemas operativos y sus plantillas disponibles para tu servidor VPS.
- En el panel Cambiar sistema operativo, escribe n8n en la barra de búsqueda y selecciona la plantilla n8n.
- En la ventana de diálogo que se abre, haz clic en Cambiar sistema operativo.
- Verás una ventana de diálogo informándote de que tu SO VPS será sobrescrito y todos los archivos serán borrados. Marca la casilla “Acepto que todos mis archivos serán eliminados y no podrán ser restaurados” y haz clic en Siguiente.
- Introduce una contraseña para el usuario root y haz clic en Confirmar.
Comenzará la configuración de la plantilla. Verás una barra de progreso en la parte superior del panel de control, como en el ejemplo siguiente:
Tras una breve espera, tu instancia n8n estará lista para ser utilizada.
3. Probar la instalación
Con n8n configurado en tu VPS, deberías ser capaz de iniciar sesión y confirmar que está funcionando.
- En la página de vista general, haz clic en Administrar aplicación.
- Esto abrirá la ventana de diálogo n8n para el registro, que debería parecerse al siguiente ejemplo:
- Simplemente introduce tus datos y crea una contraseña de acuerdo con las especificaciones indicadas. Pulsa el botón Siguiente y, a continuación, haz clic en las ventanas emergentes adicionales, dejándolas vacías por ahora. De esta forma accederás a la página de información general del n8n:
- Si puedes ver el panel n8n en su vista por defecto como esta, ¡tu configuración se ha realizado correctamente!
4. Configurar la instancia n8n
Ahora que tu instancia n8n está en funcionamiento, vamos a ajustar su configuración de seguridad y personalización.
- Pulsa o haz clic en el icono de tres puntos situado junto a tu nombre en la esquina inferior izquierda y selecciona Configuración:
- Selecciona Personal en el menú de la izquierda:
Aquí es donde puedes ver y ajustar todas tus credenciales como Nombre, Apellidos, Email y Contraseña.
También puedes modificar n8n con variables de entorno:
- Conéctate a tu VPS vía SSH o a través del terminal del navegador.
- Abre el archivo docker compose.yml con nano:
nano ../root/docker compose.yml
- Edita la sección Environment: añade o ajusta las variables de entorno. Por ejemplo, si deseas activar la autenticación básica, añade:
- N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=username - N8N_BASIC_AUTH_PASSWORD="password"
Sustituye el nombre de usuario y la contraseña anteriores por el nombre de usuario y la contraseña reales de tu usuario.
Algunas otras variables de entorno de uso común que es posible que desees incluir o ajustar:
- N8N_HOST: establece tu dominio si utilizas uno.
- N8N_PORT: el valor predeterminado es 5678, pero puedes cambiarlo si es necesario.
- N8N_PROTOCOL: especifica qué protocolo debe utilizar n8n.
- WEBHOOK_URL: obligatorio si se utilizan webhooks con un dominio.
- GENERIC_TIMEZONE: zona horaria opcional.
- Guarda y cierra nano tecleando CTRL+X, luego Y, y ENTER. Puedes confirmar que los cambios se han guardado ejecutando:
cat docker compose.yml
Esto devolverá todo el archivo Docker Compose. Deberías ver tus cambios allí.
- Reinicia Docker Compose para aplicar los cambios:
docker compose down docker compose up -d
Después de reiniciar Docker Compose, tus cambios se implementarán. n8n utilizará entonces las variables de entorno que hayas configurado.
Si estás utilizando un dominio personalizado, también debes configurar SSL. Para una conexión HTTPS segura, puedes utilizar Let’s Encrypt con NGINX como proxy inverso:
- Instala Certbot y NGINX:
sudo apt install certbot nginx python3-certbot-nginx -y
- Crea/abre el archivo de sitio NGINX para n8n:
sudo nano /etc/nginx/sites-available/n8n
- Configura NGINX como proxy para el tráfico hacia n8n. Añade lo siguiente, sustituyendo tudominio.com a continuación por tu propio nombre de dominio personalizado:
server { server_name tudominio.com; location / { proxy_pass http://localhost:5678; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Guarda y cierra el archivo con CTRL+X, luego Y y ENTER.
- Habilita la configuración y reinicia NGINX:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ sudo systemctl restart nginx
- Consigue un certificado SSL para tu dominio personalizado (sustituye a continuación tudominio.com por el nombre de tu dominio personalizado):
sudo certbot --nginx -d tudominio.com
- Abre crontab:
sudo certbot renew
Selecciona nano si se te pide que selecciones el editor.
- Añade la siguiente tarea cron:
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Los certificados Let’s Encrypt expiran cada 90 días por defecto. Con este trabajo en su lugar, certbot renovará tu certificado automáticamente cuando sea necesario.
- Abre el archivo docker compose.yml con nano:
nano ../root/docker compose.yml
- Actualiza las siguientes variables de entorno:
- WEBHOOK_URL=https://tudominio.com/ - N8N_HOST=tudominio.com - N8N_PORT=5678 - N8N_PROTOCOL=https
Guarda y cierra el archivo con CTRL+X, luego Y y ENTER.
- Reinicia Docker Compose para ejecutar los cambios.
docker compose down docker compose up -d
Una vez hecho esto, podrás acceder a tu instancia n8n de forma segura utilizando tu nombre de dominio personalizado (por ejemplo, https://tudominio.com).
Cómo instalar n8n en Ubuntu manualmente
Si estás utilizando un proveedor de alojamiento VPS sin una plantilla n8n de un solo clic, tendrás que instalar n8n manualmente. Vamos a ver el proceso paso a paso para ponerlo en marcha en Ubuntu.
1. Instalar dependencias
Antes de configurar n8n manualmente, necesitamos instalar algunas dependencias esenciales. Comienza por conectarte a tu VPS mediante SSH o una consola basada en web.
A continuación, actualiza tus listas de paquetes y actualiza los paquetes existentes a sus últimas versiones ejecutando:
sudo apt-get update && sudo apt-get upgrade -y
Esto garantiza que tu sistema dispone de los últimos parches de seguridad y versiones de software antes de continuar.
Existen dos métodos principales para ejecutar n8n autoalojado:
- Instalación directa
- Instalación en contenedor
En la mayoría de los casos se prefiere la instalación en contenedor, aunque describiremos brevemente ambas opciones.
Instalación directa
n8n puede ejecutarse directamente en un entorno Node.js, así que si no utilizas Docker, instala la última versión de soporte a largo plazo (LTS) de Node.js:
- Instala curl y el script de instalación de Node.js:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- Instala Node.js y npm:
sudo apt-get install -y nodejs
- Verifica las instalaciones:
node -v npm -v
Estos comandos devolverán las versiones de npm y Node.js si están instaladas.
Instalación en contenedores
Si prefieres ejecutar n8n en un contenedor Docker, instala primero Docker.
- Instala las dependencias necesarias:
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
- Añade la clave GPG oficial de Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Añade el repositorio Docker e instala Docker:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io
- Verifica que Docker está instalado:
docker --version
Este comando devolverá la versión de Docker si está instalada.
2. Configurar n8n
Una vez que tengas todas las dependencias instaladas, puedes configurar n8n.
Instalación directa
Si instalaste Node.js anteriormente, puedes instalar n8n globalmente usando npm:
npm install -g n8n
Inicia una sesión de pantalla llamada n8n:
screen -S n8n
Ejecuta n8n dentro de la sesión de pantalla:
n8n
Para desconectarte de la sesión de pantalla, teclea CTRL+A y luego D. Si quieres volver a conectarte para interactuar con n8n, ejecuta:
screen -R n8n
Por defecto, n8n se ejecuta en el puerto 5678. Ahora puedes acceder a él en:
http://tu-servidor-ip:5678
Es posible que recibas un error de cookie segura en este punto. Cubriremos la creación de certificados SSL en pasos posteriores.
Instalación en contenedores
Extrae la última imagen Docker de n8n:
docker pull n8nio/n8n
Ejecuta el contenedor con la asignación de puertos:
docker run -d --name n8n -p 5678:5678 n8nio/n8n
- -d: ejecuta el contenedor en segundo plano.
- –name n8n: nombra el contenedor n8n.
- -p 5678:5678: asigna el puerto 5678 del servidor al puerto 5678 del contenedor.
Para acceder a n8n en tu navegador, abre:
http://tu-servidor-ip:5678
Al igual que en los pasos de instalación anteriores, es posible que aparezca un error de cookie segura. Consulta la sección de creación de certificados SSL más abajo.
Por defecto, los datos dentro de un contenedor Docker no son persistentes. Para asegurarte de que tus flujos de trabajo y configuraciones se guardan, ejecuta n8n con un volumen montado:
docker stop n8n && docker rm n8n #stop and remove previous n8n container docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
Esto asigna tu carpeta local ~/.n8n al directorio de datos de n8n dentro del contenedor.
Si el contenedor no se inicia, es posible que no tengas permisos para escribir en el volumen. Reclama los permisos ejecutando:
sudo chown -R 1000:1000 ~/.n8n sudo chmod -R 755 ~/.n8n
A continuación, inicia el contenedor:
docker start n8n
3. Configurar n8n
Por defecto, n8n no aplica autenticación, por lo que cualquiera que acceda a la IP de tu servidor puede utilizarlo. Para asegurar tu instancia, establece variables de entorno antes de ejecutar el contenedor.
Con la instalación directa, puedes utilizar el comando export para añadir variables. En el ejemplo siguiente, asegúrate de sustituir username, password y tudominio.com por las credenciales que hayas elegido:
export N8N_BASIC_AUTH_ACTIVE=true export N8N_BASIC_AUTH_USER=username export N8N_BASIC_AUTH_PASSWORD=password export N8N_HOST=tudominio.com export N8N_PORT=5678 export WEBHOOK_URL=https://tudominio.com/ export GENERIC_TIMEZONE=UTC
Cuando se ejecuta n8n como un contenedor Docker (instalación en contenedor), puedes pasar estas variables usando la bandera -e (de nuevo, añade tus propias credenciales más abajo):
docker stop n8n && docker rm n8n #stop and remove previous n8n container docker run -d --name n8n \ -p 5678:5678 \ -e N8N_BASIC_AUTH_ACTIVE=true \ -e N8N_BASIC_AUTH_USER=username \ -e N8N_BASIC_AUTH_PASSWORD=password \ -e N8N_HOST=tudominio.com \ -e N8N_PORT=5678 \ -e WEBHOOK_URL=https://tudominio.com/ \ -e GENERIC_TIMEZONE=UTC \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n
4. Habilitar el acceso seguro
Para proteger tu instancia n8n y asegurar conexiones encriptadas, configuraremos SSL (HTTPS) usando Let’s Encrypt y NGINX como proxy inverso. Esto es especialmente importante si estás usando un dominio personalizado.
5. Instala NGINX y Certbot:
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
6. Habilita e inicia NGINX:
sudo systemctl enable nginx sudo systemctl start nginx
7. Crea y abre un nuevo archivo de configuración NGINX para n8n:
sudo nano /etc/nginx/sites-available/n8n
8. Añade la siguiente configuración, sustituyendo tudominio.com por tu dominio real:
server { server_name tudominio.com; location / { proxy_pass http://localhost:5678; # Forward requests to n8n proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } listen 80; }
A continuación, guarda y sal tecleando CTRL+X, luego Y, y después ENTER.
9. Habilita la configuración:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
10. Reinicia NGINX:
sudo systemctl restart nginx
11. Genera un certificado SSL gratuito de Let’s Encrypt:
sudo certbot --nginx -d tudominio.com
12. Abre crontab:
sudo certbot renew
Selecciona nano si se te pide que selecciones el editor.
13. Añade la siguiente tarea cron:
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Los certificados Let’s Encrypt caducan cada 90 días por defecto. Con este trabajo en su lugar, Certbot renovará tu certificado automáticamente.
Para confirmar que n8n está funcionando con HTTPS, abre tu navegador e introduce tu nombre de dominio en el formato https://tudominio.com. Si ves la interfaz de n8n sin ninguna advertencia SSL, tu configuración se ha realizado correctamente y n8n ya está listo para usar.
Conclusión
¡Enhorabuena! Has instalado con éxito y ahora estás auto-alojando n8n en tu propio servidor. Tanto si has utilizado la configuración de un clic de Hostinger como si has instalado n8n manualmente, ahora tienes una potente herramienta de automatización de flujos de trabajo al alcance de tu mano.
Ahora es el momento de empezar a crear flujos de trabajo y automatizar tareas. Desde simples integraciones n8n hasta complejos procesos de negocio, n8n te da la flexibilidad para conectar aplicaciones, APIs y bases de datos sin escribir toneladas de código.
Puedes explorar varias ideas de automatización n8n que agilizan los flujos de trabajo y simplifican las tareas cotidianas
Recuerda estos puntos clave:
- Mantén la seguridad de n8n: utiliza autenticación, activa HTTPS y restringe el acceso cuando sea necesario.
- Actualiza regularmente: mantente al día con las novedades de n8n y los parches de seguridad actualizando tu instalación periódicamente.
- Haz copias de seguridad: si utilizas Docker, garantiza un almacenamiento persistente para que tus flujos de trabajo y credenciales estén seguros.
Si tienes algún problema o quieres explorar configuraciones avanzadas, consulta la documentación del n8n o únete a la comunidad n8n para obtener ayuda.
Preguntas frecuentes sobre la instalación de n8n
¿Puedes ejecutar n8n localmente?
Sí, puedes ejecutar n8n localmente instalándolo globalmente usando npm con el comando npm install n8n -g. Tras la instalación, inicia n8n ejecutando n8n o n8n start.
¿Qué plan de VPS necesito para ejecutar n8n?
Un VPS con 2 vCores y 4 GB RAM debería ser suficiente para empezar, en cuyo caso el KVM2 de Hostinger será más que suficiente.
¿Cómo accedo al n8n después de instalarlo?
Después de instalar n8n localmente, puedes acceder a su interfaz navegando a http://localhost:5678 en tu navegador web si se ejecuta localmente.
Si estás autoalojado en un VPS con un dominio personalizado, utiliza http://tudominio.com:5678 o https://tudominio.com si SSL está configurado.