N8N con Dominio Personalizado usando Traefik

N8N con Dominio Personalizado usando Traefik
En esta guía veremos cómo instalar N8N usando nuestro propio dominio personalizado de forma super sencilla con certificado SSL de LetsEncrypt usando Traefik como proxy inverso.
La instalación es muy sencilla porque la he simplificado al máximo. Vamos a ver paso a paso cómo hacerlo.
Instalación de Docker
Para comenzar, necesitamos un servidor VPS. Personalmente, recomiendo Contabo por su excelente relación calidad-precio.
Una vez tengamos nuestro servidor con Ubuntu 20.04 o superior, instalamos Docker:
/bin/bash -c "$(curl -fsSL https://get.docker.com)"
systemctl enable docker
systemctl start docker
Instalación de Traefik
Usaremos un repositorio que ya he preparado para la ocasión:
cd /opt
git clone https://github.com/aitorroma/docker-traefik traefik
cd traefik
chmod 600 acme.json
nano .env
Configuración del archivo .env
Debemos ajustar dos variables importantes en el fichero .env
:
- ACME_EMAIL: Dirección de correo electrónico para el registro ACME.
- Valor predeterminado: ‘webmaster@my.domain.tld’
- Debes usar tu correo electrónico personal
- DOCKER_DOMAIN: Dominio base para las reglas de la interfaz.
- Valor predeterminado: ‘my.domain.tld’
- Debes usar tu dominio raíz para los subdominios
Levantar Traefik
cd /opt/traefik
docker compose up -d
Este comando iniciará un contenedor escuchando en los puertos 80 y 443, listo para funcionar como proxy inverso.
Instalación de N8N usando Traefik
Una vez desplegado Traefik, seguimos estos pasos:
cd /opt
git clone https://github.com/aitorroma/n8n-traefik.git n8n
cd n8n
nano .env
Configuración de N8N
Ajustamos las variables en el fichero .env
:
N8N_HOST=n8n.hiveagile.club
## N8N Version
VERSION=latest
## N8N Config
VUE_APP_URL_BASE_API=https://${N8N_HOST}
N8N_PROTOCOL=https
WEBHOOK_URL=https://${N8N_HOST}
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=336
GENERIC_TIMEZONE=Europe/Madrid
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
#### SMTP CONFIG #####
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.eu.mailgun.org
N8N_SMTP_PORT=465
N8N_SMTP_USER=user@domain.com
N8N_SMTP_PASS=lapassword
N8N_SMTP_SSL=true
N8N_SMTP_SENDER=user@domain.com
Importante: En
N8N_HOST
debes especificar la URL que usarás para acceder a tu instancia de N8N. Asegúrate de que el registro DNS A apunte a tu servidor.
Las demás variables pueden dejarse como están, excepto la sección SMTP CONFIG
que debes configurar para recibir correos electrónicos.
Iniciar N8N
cd /opt/n8n
docker-compose up -d
chmod 777 ./docker-volumes/n8n -Rf
docker compose restart
Este comando levantará la instancia de N8N en el subdominio especificado, con soporte SSL incluido.
Actualizaciones Automáticas
Puedes usar Watchtower para actualizar N8N y todos los contenedores marcados con la etiqueta latest
:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -i 30
¿Necesitas más ayuda?
Estás invitado a mi canal de Telegram, donde publico más soluciones como esta:
Conclusión
Con estos pasos, tendrás una instancia de N8N funcionando con tu propio dominio, certificado SSL y actualizaciones automáticas. Esta configuración es ideal para entornos de producción y te permitirá ejecutar tus flujos de trabajo de automatización de forma segura y profesional.
¿Te ha resultado útil esta guía? ¿Tienes alguna duda sobre la instalación? ¡Déjame un comentario y te ayudaré!