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 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.domain.com
N8N_PROTOCOL=https
WEBHOOK_TUNNEL_URL=https://n8n.domain.com/
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=ChangeMe!
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=336
GENERIC_TIMEZONE=Europe/Madrid
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.
WEBHOOK_TUNNEL_URL
Está es la url que usaras para conectar los webhooks con tu servidor.
N8N_BASIC_AUTH_PASSWORD
Está es la contraseña para acceder a tu instancia de n8n.
Uso
cd /opt/n8n
docker-compose up -d
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.