Proxmox n8n

Conectar servicios con un Mini PC

Si eres amante de las automatizaciones te va a encantar esta entrada en la que te explico cómo conectar servicios con un Mini PC.

n8n, qué es y para qué sirve

Siempre me ha encantado crear automatizaciones. Me parece que hacer que las cosas sucedan por arte de magia es un arte, y ahorra mucho trabajo. Es por eso que anteriormente he jugado con herramientas como IFTTT, Make y otras del estilo. Todas estas tienen en común que son plataformas que sirven para interconectar servicios de terceros (por ejemplo, redes sociales). También que te permiten crear 2 o 3 automatizaciones de forma gratuita, y que luego toca pasar por caja.

Pues bien, n8n es una herramienta de automatización de flujos de trabajo de código abierto que sirve para conectar diferentes servicios, aplicaciones o sistemas sin necesidad de escribir mucho código (sólo necesitas unos conocimientos mínimos). Como nuestras herramientas favoritas «open-source», tiene integración con un montón de servicios y puedes alojarla en local para conectar servicios con un Mini PC. Esto significa que puedes usarla de forma gratuita, ilimitada y totalmente privada.

Además tiene una comunidad enorme detrás, por lo que vas a encontrar cientos de flujos prediseñados para facilitarte la vida. De todas maneras, si te gusta pelearte un poco con este tipo de aplicaciones descubrirás que tiene una interfaz muy amigable y que hay mucha documentación de ayuda. Cuidado que engancha.

Requisitos previos

Para conectar servicios con un Mini PC como lo he hecho yo necesitas lo siguiente:

  • Un Mini PC. En mi caso voy a utilizar el Ubox que me ha mandado la gente de Chuwi. Tiene 16GB de RAM (ampliable hasta 64GB), 512GB de almacenamiento interno y tarjeta gráfica integrada AMD Radeon™ 660M.
  • Haber instalado Proxmox en tu Mini PC y otros servicios.
Ubox
CHUWI

Ubox

5,0

Potente mini PC para homelab con control local. Conectividad WiFi, Bluetooth y Ethernet para integrarlo en Home Assistant. Un ordenador compacto y versátil con puertos USB, listo para tu domótica.

*Algún precio puede haber cambiado desde la ultima revision

Instalación de n8n

Sigue estos sencillos pasos para conectar servicios con un Mini PC:

  1. En la interfaz de Proxmox, pulsa sobre el nombre de tu servidor y al hacerlo aparecerá un segundo menú lateral a su derecha.
  2. Pulsa sobre «Consola» para acceder al terminal del servidor, que aparecerá más a la derecha
  3. Entra en el apartado de n8n de Helper Scripts y copia el comando de instalación de la parte inferior.
  4. Vuelve a la consola de Proxmox y pégalo (si no puedes hacerlo con el teclado, utiliza el botón del derecho del ratón o cópialo a mano). Pulsa enter para empezar su ejecución.
  5. Aparecerá el asistente preguntando si quieres proceder con la instalación. Marca la opción «Yes» y pulsa la tecla ‘Enter’.
  6. Selecciona la primera opción «Default Settings» y pulsa ‘Enter’ de nuevo.
  7. Dale unos minutos para que realice la instalación. Cuando termine te ofrecerá la URL para acceder a la interfaz (por ejemplo, ‘http://192.168.1.82:5678/’). Como siempre, te recomiendo que asignes una IP fija en tu router para evitar fallos en el futuro si esta cambia.

Funcionamiento de n8n

Una vez instalado, vamos a iniciarnos en n8n de la siguiente forma:

  1. Abre tu navegador y accede a su interfaz con la URL que has obtenido en el apartado anterior.
  2. La primera vez que entres tendrás que crear tus credenciales de acceso. Hecho esto te aparecerá una ventana con una pequeña encuesta, que puedes rellenar como quieras. Ahora sí, te encontrarás frente al panel de inicio («Overview»).
  3. Vamos a crear nuestro primer «Workflow» (o «flujo de trabajo») para entender como funciona n8n. Para ello pulsa en el botón «Create workflow» de la esquina superior derecha. Al hacerlo aparecerá un panel gráfico con un botón en el centro que indica «Add first step…». Si pulsas en este botón aparecerá un menú lateral para que elijas el ‘trigger’ o desencadenante del flujo. Este será el evento que inicie la secuencia de acciones.
  4. Como puedes observar, puedes iniciar el flujo manualmente («Trigger manually») o a cierta hora («On a schedule»). Creo que estas opciones son bastante intuitivas, ya que sólo tienes que seleccionarlas para que se añadan al panel. Hay otra opción que me parece la más interesante, y es que sea otro servicio o aplicación el que inicie el flujo («On app event»).
  5. Si pulsas sobre esta opción te aparecera una enorme lista de servicios que puedes conectar. Para el ejemplo voy a hacer que, cuando se publique un nuevo artículo en Aguacatec, se publique automáticamente en nuestra comunidad de Telegram. Para ello primero he buscado la opción «RSS Feed Trigger» y he proporcionado la información que me pedía (en este caso, la URL del feed). Desde esta misma ventana he podido testear que funcioan correctamente. Al salir compruebo que se ha creado el primer bloque en el panel, que puedo renombrar haciendo clic derecho sobre él.
  1. Como puedes ver a su derecha aparece una línea que marca el rumbo del flujo, y un icono «+» para añadir la primera acción. Al pulsar, de nuevo, se abre el menú lateral y me ofrece distintas opciones. Como quiero que lo comparta en Telegram, voy a pulsar en «Action in an app», buscar «Telegram» y seleccionar la acción correspondiente («Send a text message»).
  2. Si estás siguiendo el ejemplo, verás que lo primero que me pide son las Credenciales de la aplicación. Estas son los datos que vamos a necesitar para conectar dicha aplicación con n8n y permitirle que realice automatizaciones. Como acabamos de empezar tendremos que pulsar en «+ Create new credential». Al hacerlo se abrirá un pop-up solicitándonos información (que dependerá de la aplicación en cuestión). Lo interesante es que lo primero que te ofrece es un enlace a la documentación con las instrucciones para obtener las credenciales.
  1. Una vez conectada tu aplicación tendrás que configurar la acción, dependiendo de lo que se trate, con los campos que te ofrece. Observa que puedes ejecutar los nodos previos del flujo (en el ejemplo sería la última publicación de Aguacatec). Esto te permite seleccionar la información que has obtenido previamente, y usarla en tus acciones (que es lo interesante).
  1. Y ya está! Si ahora activas la casilla de la barra superior (donde indica «Inactive») el flujo empezará a funcionar. Obviamente este es un ejemplo sencillo para que entiendas el funcionamiento general de la herramienta. No obstante, tienes un montón de tutoriales en internet explicando como explotarla al máximo.

Credenciales con acceso externo

Algunas aplicaciones requieren que habilites una URL de acceso desde el exterior, porque no admiten la llamada desde tu ‘localhost’. Para ello, además de crear un túnel de acceso a n8n, necesitas hacer lo siguiente:

  1. Accede a la interfaz de Proxmox, pulsa sobre tu VM de n8n y accede a la «Consola» desde el menú lateral.
  2. Ejecuta los siguientes comandos para acceder al fichero de configuración de n8n.
  1. Al hacerlo se abrirá en la consola un editor de texto que te permite modificar su contenido. Utiliza las flechas del teclado para añadir una nueva línea justo debajo de ‘ExecStart=n8n start’ y copia la siguiente línea (reemplazando la URL por la que utilizas para acceder a n8n desde el exterior).
  1. Pulsa «Control + O» y «Enter» para guardar los cambios (verás un mensaje de confirmación que indica «Wrote X lines»). Luego usa «Control + X» para salir del editor y reinicia la VM de n8n.
  2. Ahora, si accedes a n8n de nuevo e intentas conectar la aplicación que requería acceso del exterior, comprobarás que tu URL de ‘Call Back’ ya no utiliza ‘localhost’ si no tu dominio público.

Añadir aún más servicios

Supongamos que ya llevas unos días con n8n, y ya lo usas para conectar servicios con un Mini PC. Seguro que llega el momento en el que buscas un servicio o función, pero no encuentras ninguno que haga lo que buscas.

Pues bien, igual que Home Assistant tiene HACS, n8n tiene los nodos de la comunidad. Básicamente, esto consiste en que puedes instalar otras «integraciones» en n8n para añadir funciones adicionales. Para hacerlo sigue estos pasos:

  1. En n8n, pulsa sobre el icono de los 3 puntos que aparece junto a tu nombre de usuario, en la parte inferior del menú lateral.
  2. Ve a Settings > Community nodes > Install > Browse. Esto abrirá esta página web, que puedes entender como una biblioteca de nodos de la comunidad.
  3. Para buscar el código concreto, añade una palabra clave en el buscador y pulsa en «Search». Por ejemplo, yo quiero añadir un nodo para compartir los videos de nuestro canal de Youtube en nuestro perfil de Bluesky.
  1. Una vez selecciones el nodo que te interesa, copia su nombre (que siempre empezará por ‘n8n-nodes’) y vuelve a la interfaz de n8n.
  2. Pega el nombre en el campo «npm Package Name», marca la casilla indicando que entiendes los riesgos de instalar un nodo de la comunidad y pulsa en «Install».
  3. Listo! Tras unos segundos ya podrás volver a tu flujo y encontrarás tu nueva función o «nodo».