Hola Wecindario, En esta guia vamos a ver cómo instalar el n8n en un servidor VPS  con  Docker y linux ¿Cumples con estos requisitos? Pues vamos a ello

El n8n es una herramienta  automatizar  tareas y procesos y lo que haces es crear  flujos de trabajo personalizados usando nodos.

Hosting Web

Un ejemplo, si queremos enviar un email al usuario cuando sube una foto a Instagram, podemos usar n8n para crear ese flujo de trabajo que de forma automática envíe un mensaje de texto cada vez que pasa esto en Instagram. Así creamos  soluciones de automatización más complicadas sin escribir código desde cero.

Veremos un método para instalar n8n en un servidor y cómo se asigna  un dominio propio, y poderlo usar para acceder a la interfaz

Antes de empezar creamos el dominio o subdominio que remos a usar, por ejemplo n8npruebas.com

Empezando con Docker compose y Nginx Proxy Manager

Este es el método más sencillo, y para mí pensar el mejor

Instalamos Docker

Desde ssh ejecutamos

apt install curl

/bin/bash -c "$(curl -fsSL https://get.docker.com)"

Instalamos Docker Compose

Añadiremos tambien el Docker Composer ya que  nos simplifica la forma del trabajo con Docker.

mkdir -p ~/.docker/cli-plugins/

curl -SL https://github.com/docker/compose/releases/download/v2.14.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose

Lo hacemos ejecutable :chmod +x ~/.docker/cli-plugins/docker-compose

Y vemos la version:docker compose version

Hosting Web

Instalamos  Nginx Proxy Manger

Ahora tenemos que crear el proxy inverso, y usaremos el Nginx Proxy Manager con  una imagen de Docker , confirgurada para esto

Creamos la carpeta donde guardaremos la configuración del Nginx Proxy Manager.mkdir nginx-proxy-manager && cd nginx-proxy-manager

Creamos el archivo de config de Docker Compose .nano docker-compose.yml

Y pegamos la configuración:

version: '3'
services:
  app:
   image: 'jc21/nginx-proxy-manager:latest'
   restart: unless-stopped
   ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Y con esto ya está el proxy montado, lo arrancamos con :docker compose up -d

Y luego para acceder se hace mediante el puerto 81.  10.58.135.137: 81.

Y veremos el loguin

Y para acceder, los datospor defecto son :

Email: admin@example.com

Password: changeme

Instalamos el  n8n

Aquí instalaremos el n8n desde el docker oficial, Empezando por crear una carpeta donde guardar la configuración.

mkdir ~/n8n

cd ~/n8n

Luego crearemos el archivo docker-compose.yml.: nano docker-compose.yml

Y añadimos lo siguiente:

version: "3"

services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER
      - N8N_BASIC_AUTH_PASSWORD
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - ./data:/home/node/.n8n

Luego hay que crear el  .env donde se definen las variables necesarias para que funcione n8n

Y lo creamos:nano .env

Y pondremos esto , ediatndo esto por los datos correctos

DOMAIN_NAME=devseo.xyz
SUBDOMAIN=n8npruebas.com
N8N_BASIC_AUTH_USER=usuarion8n
N8N_BASIC_AUTH_PASSWORD=contraseñan8n
GENERIC_TIMEZONE=Europe/Madrid
SSL_EMAIL=miemail@email.com

Levantamos el contenedor y ya tenemos n8n funcionando en el servidor :docker compose -d up

Tenemos que vincular el dominio  con el contenedor Docker de n8n abrimos el panel  Nginx Proxy Manager.  (XXX.XX.XX.XXX:81)., y vamos a Hosts -> Proxy hosts -> Add Proxy Host.

Y lo rellenamos

Y en ssl debemos añladir un ssl valido

Y Terminado. ya está configurado el n8n  y accesible mediante el dominio que hemos creado en nuestro Plesk

Y esto es todo wecindario, ¿Lo has intentado y lo has conseguido con la ayuda de mi guia? Escribeme y cuéntame tu experiencia