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} - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true - N8N_RUNNERS_ENABLED=true 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
*Si no arranca comprobad los permisos de la carpeta ./config/n8n/data
Y listo, ya tenemos nuestro n8n desplegado.

Recomiendo desplegarlo delante de un nginx proxy manager cómo explico en este tutorial.
Recuerda activar conexiones con shocket en tu proxy inverso

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.
1 comentario en «Automatizar tareas con n8n autoalojado y docker compose»