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.