WhatsApp Trigger funktioniert nicht, weil ich n8n mit Docker auf meinem lokalen Computer ausführe

Hey zusammen, ich habe da ein paar Schwierigkeiten. Ich versuche, einen WhatsApp-KI-Assistenten zu entwickeln und betreibe n8n mit Docker auf meinem lokalen Computer. Das Problem ist, dass die Test-URL und die Production-URL weiterhin localhost anzeigen, obwohl ich die ENV-Variable in Portainer auf die ngrok-URL gesetzt habe.

Problem/Fehler/Frage beschreiben

Wie lautet die Fehlermeldung (falls vorhanden)?

Bitte teilen Sie Ihren Workflow

(Wählen Sie die Knoten auf der Leinwand aus und verwenden Sie die Tastaturkürzel CMD+C/STRG+C und CMD+V/STRG+V zum Kopieren und Einfügen des Workflows.)

Geben Sie die vom letzten Knoten zurückgegebene Ausgabe frei

Informationen zu Ihrem n8n-Setup

  • n8n-Version: 2.28.2
  • Datenbank (Standard: SQLite): docker
  • n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main):
  • n8n ausgeführt über (Docker, npm, n8n Cloud, Desktop-App): docker
  • Betriebssystem: Windows

@Stoneage

Hast du webhook_url auf deine ngrok-Subdomain konfiguriert?

Hi @Stoneage Willkommen!
Die URLs bleiben auf localhost, weil die Variable den Container nie erreicht. Das “Environment variables”-Panel von Portainer in einem Stack führt nur ${VAR}-Substitution in der Compose-Datei durch, injiziert aber nichts in den Container, daher muss der Dienst selbst das deklarieren:

services:
  n8n:
    environment:
      - WEBHOOK_URL=https://your-subdomain.ngrok-free.app/
      - N8N_PROXY_HOPS=1

Stelle den Stack erneut bereit, damit der Container neu erstellt wird. Ein einfacher Neustart behält die alte Umgebung. Bestätige dann, dass es angekommen ist:

docker exec <your-n8n-container> printenv WEBHOOK_URL

Öffne den Workflow und den Test neu, dann werden die Test- und Produktions-URLs den ngrok-Host tragen. Im ngrok-Kostenplan ändert sich die Subdomain bei jedem Neustart, daher muss der Wert jedes Mal aktualisiert werden, es sei denn, du verwendest eine statische Domain.