En esta ocasión veremos como instalar N8N usando nuestro propio dominio personalizado de forma super sencilla con certificado SSL de LetsEncrypt usando el como proxy Traefik.
La instalación es super sencilla porque la he simplificado al máximo, para ello realizaremos los siguientes pasos.
Instalación de Docker
Para comenzar, debemos tener un servidor VPS, personalmente, recomiendo Contabo porque tiene una buena relación calidad-precio.
Configurado el servidor con Ubuntu 20.04 o superior es el momento de instalar Docker.
Docker permitirá iniciar Traefik y N8N.
/bin/bash -c "$(curl -fsSL https://get.docker.com)"
systemctl enable docker
systemctl start docker
Instalación de traefik
Vamos a usar 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
Debemos ajustar las variables DOCKER_DOMAIN y ACME_EMAIL en el fichero .env
ACME_EMAIL
Dirección de correo electrónico utilizada para el registro ACME. Valor predeterminado: '[email protected]'. Debemos poner un correo electrónico nuestro.
DOCKER_DOMAIN
Dominio base predeterminado utilizado para las reglas de la interfaz. Puede anularse estableciendo la etiqueta "traefik.domain" en un contenedor. Valor predeterminado: 'my.domain.tld' debemos raíz que usaremos para nuestro subdominio.
Levantar Traefik
cd /opt/traefik
docker-compose up -d
Este comando levantara un contenedor escuchando en el puerto 80 y 443 listo para realizar de proxy inverso.
Instalación de N8N usando traefik
Una vez desplegado traefik debemos seguir estas instrucciones para instalar N8N.
cd /opt
git clone https://github.com/aitorroma/n8n-traefik.git n8n
cd n8n
nano .env
Ajustar las variables del fichero .env
.
N8N_HOST=n8n.hiveagile.club
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
#### SMTP CONFIG #####
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=smtp.eu.mailgun.org
N8N_SMTP_PORT=465
[email protected]
N8N_SMTP_PASS=lapassword
N8N_SMTP_SSL=true
[email protected]
N8N_HOST
Está será la url que usaras para acceder a tu instancia de N8N, debes apuntar el registro dns A a tu servidor para que funcione.
Dejaremos las otras variables como están, excepto la sección de configuración SMTP CONFIG que debemos configurar para recibir correos electrónicos.
Uso
cd /opt/n8n
docker-compose up -d
chmod 777 ./docker-volumes/n8n -Rf
docker-compose restart
Este comando levantara la instancia de n8n en el subdominio marcado con soporte para SSL.
Ahora deberías poder acceder a la url que estableciste en N8N_HOST
usando también las credenciales que estableciste en el fichero .env
Actualizaciones automáticas
Puedes usar watchtower para actualizar n8n y todos los contenedores que están marcados con la tag latest.
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -i 30
Invitación a mi Canal.
Estás invitado a mi canal de telegram, donde publico más soluciones como esta.