Vamos a utilizar n8n para automatizar tareas de forma autoalojado y gratis mediante un docker compose.
n8n es una plataforma de automatización de flujos de trabajo de código abierto. Permite conectar aplicaciones, APIs y servicios sin necesidad de programar, facilitando la creación de integraciones personalizadas y automatizaciones complejas de manera visual.
🔹 Flexible: Se puede ejecutar en la nube o en servidores propios.
🔹 Código abierto: Sin limitaciones de pago ni bloqueos de funciones.
🔹 Más de 350 integraciones con herramientas como Slack, Gmail, Notion, OpenAI, y muchas más.
🔹 Uso intuitivo: Su interfaz de arrastrar y soltar facilita la creación de flujos sin conocimientos avanzados.
Ideal para desarrolladores, empresas y creadores de contenido que buscan automatizar procesos y mejorar su productividad. 🚀

Lo primero qué haremos es utilizar la imagen oficial para crear un docker compose.
services: n8n_automatizador: image: docker.n8n.io/n8nio/n8n restart: unless-stopped container_name: n8n_automatizador ports: - 5678:5678 environment: - N8N_PORT=5678 - N8N_PROTOCOL=${N8N_PROTOCOL} - NODE_ENV=production - WEBHOOK_URL=${WEBHOOK_URL} - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} volumes: - ./config/n8n/data:/home/node/.n8n
Y creamos el .env
# Protocolo HTTP o HTTPS N8N_PROTOCOL=http # URL base de los webhooks (ajústalo si usas Nginx Proxy Manager) WEBHOOK_URL=http://localhost:5678/ # Zona horaria (ajústala según tu ubicación) GENERIC_TIMEZONE=Europe/Madrid
Si queremos autoalojarlo fuera de localhost (en una máquina externa). Debemos cambiar el docker compose a esto:
services: n8n_automatizador: image: docker.n8n.io/n8nio/n8n restart: unless-stopped container_name: n8n_automatizador ports: - 5678:5678 environment: - N8N_PORT=5678 - N8N_PROTOCOL=${N8N_PROTOCOL} - NODE_ENV=production - WEBHOOK_URL=${WEBHOOK_URL} - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} - N8N_HOST=${N8N_HOST} volumes: - ./config/n8n/data:/home/node/.n8n
Y creamos el .env
# Dominio donde estará n8n N8N_HOST=miweb.com # Protocolo HTTP o HTTPS N8N_PROTOCOL=https # URL pública para webhooks (cambia si usas subdominio) WEBHOOK_URL=https://miweb.com/ # Zona horaria GENERIC_TIMEZONE=Europe/Madrid
Y listo, ya tenemos nuestro n8n desplegado.

Recomiendo desplegarlo delante de un nginx proxy manager cómo explico en este tutorial.

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.