From f7a4c1134aa5b47a294dc8efa7ad1f1c7f98763a Mon Sep 17 00:00:00 2001 From: root Date: Mon, 23 Mar 2026 01:16:09 +0000 Subject: [PATCH] fix: adapt n8n compose for Coolify (remove Traefik/proxy/mail_internal, add dockerfile_inline) --- n8n/docker-compose.yml | 36 ++++-------------------------------- n8n/stack.env | 38 ++++++++++++++++---------------------- 2 files changed, 20 insertions(+), 54 deletions(-) diff --git a/n8n/docker-compose.yml b/n8n/docker-compose.yml index 03758a1..e770d23 100644 --- a/n8n/docker-compose.yml +++ b/n8n/docker-compose.yml @@ -1,6 +1,10 @@ services: n8n: image: n8nio/n8n:latest + build: + context: . + dockerfile_inline: | + FROM n8nio/n8n:latest container_name: n8n restart: unless-stopped environment: @@ -33,33 +37,7 @@ services: N8N_SMTP_STARTTLS: ${N8N_SMTP_STARTTLS} networks: - - proxy - n8n - - mail_internal - - labels: - traefik.enable: "true" - traefik.docker.network: "proxy" - - # UI (protegida por Authentik) - traefik.http.routers.n8n-ui.rule: "Host(`${N8N_DOMAIN}`)" - traefik.http.routers.n8n-ui.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}" - traefik.http.routers.n8n-ui.tls: "true" - traefik.http.routers.n8n-ui.tls.certresolver: "${TRAEFIK_CERTRESOLVER}" - traefik.http.routers.n8n-ui.service: "n8n" - traefik.http.routers.n8n-ui.priority: "10" - # traefik.http.routers.n8n-ui.middlewares: "${TRAEFIK_AUTH_MIDDLEWARE}" - - # Webhooks (NO protegidos, para que terceros puedan llamar) - traefik.http.routers.n8n-webhook.rule: "Host(`${N8N_DOMAIN}`) && (PathPrefix(`/webhook`) || PathPrefix(`/webhook-test`))" - traefik.http.routers.n8n-webhook.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}" - traefik.http.routers.n8n-webhook.tls: "true" - traefik.http.routers.n8n-webhook.tls.certresolver: "${TRAEFIK_CERTRESOLVER}" - traefik.http.routers.n8n-webhook.service: "n8n" - traefik.http.routers.n8n-webhook.priority: "20" - - # Puerto interno de n8n - traefik.http.services.n8n.loadbalancer.server.port: "${N8N_PORT}" n8n-db: image: postgres:16 @@ -75,11 +53,5 @@ services: - n8n networks: - proxy: - external: true - # authentik_internal: - # driver: bridge n8n: driver: bridge - mail_internal: - external: true diff --git a/n8n/stack.env b/n8n/stack.env index 665ddfc..332085b 100644 --- a/n8n/stack.env +++ b/n8n/stack.env @@ -1,28 +1,28 @@ ##### n8n - Base de datos ##### -N8N_DB_TYPE= -N8N_DB_HOST= -N8N_DB_PORT= -N8N_DB_NAME= -N8N_DB_USER= +N8N_DB_TYPE=postgresdb +N8N_DB_HOST=n8n-db +N8N_DB_PORT=5432 +N8N_DB_NAME=n8n +N8N_DB_USER=n8n N8N_DB_PASSWORD= ##### n8n - Servidor / dominio ##### N8N_HOST= -N8N_PORT= -N8N_PROTOCOL= +N8N_PORT=5678 +N8N_PROTOCOL=https N8N_WEBHOOK_URL= -N8N_TIMEZONE= +N8N_TIMEZONE=Europe/Madrid # Genera una nueva con: openssl rand -hex 32 N8N_ENCRYPTION_KEY= -N8N_NODE_ENV= -N8N_DIAGNOSTICS_ENABLED= +N8N_NODE_ENV=production +N8N_DIAGNOSTICS_ENABLED=false -##### n8n - Correo (via mail-relay interno) ##### +##### n8n - Correo (SMTP) ##### N8N_EMAIL_MODE=smtp -N8N_SMTP_HOST=mail-relay +N8N_SMTP_HOST= N8N_SMTP_PORT=587 N8N_SMTP_USER= N8N_SMTP_PASS= @@ -31,15 +31,9 @@ N8N_SMTP_SSL=false N8N_SMTP_STARTTLS=false ##### PostgreSQL interno ##### -POSTGRES_USER= +POSTGRES_USER=n8n POSTGRES_PASSWORD= -POSTGRES_DB= +POSTGRES_DB=n8n -# Ruta en el host para los datos de Postgres (relativa o absoluta) -N8N_DB_DATA_PATH= - -##### Traefik ##### -N8N_DOMAIN= -TRAEFIK_ENTRYPOINT_SECURE= -TRAEFIK_CERTRESOLVER= -TRAEFIK_AUTH_MIDDLEWARE= +# Ruta en el host para los datos de Postgres +N8N_DB_DATA_PATH=/opt/n8n/postgres