Um eigene Python Skripte für einen HTTP Request in N8N verfügbar zu machen müssen diese als Flask Service eingerichtet werden. Dies gilt insbesondere für Prozesse, die sensible Daten verarbeiten und nicht an fremde Server versendet werden dürfen, z.B. Meeting Transkripte, Kreditkartenabrechnungen.
Dazu bitte wie folgt vorgehen:
- Christian kann einen Zugang zum Allerlei Server einrichten
- FTP ist notwendig, um Dateien auf dem FTP bearbeiten zu können
- iTerm braucht ein Profil, um Befehle ausführen zu können
- Pfad in FTP:
sftp://root@51.89.74.4:64101/var/www/n8n/python- die Datei app.py enthält die Services, die uns zur Verfügung stehen
- Hier müssen die neuen Services mit eingefügt werden
- Jeder Service benötigt einen Namen, um diesen mit einem HTTP Request ansprechen zu können, Beispiele sind in der Datei hinterlegt
- Weitere Funktionen werden im unteren Abschnitt hinzugefügt, wenn sie aus dem Service nur aufgerufen werden
- Nach jeder Änderung an der Datei app.py muss der Server neugestartet werden, dazu wie folgt vorgehen
- Profil in Iterm aufrufen
- Ins Verzeichnis wechseln:
cd /var/www/n8n/python - Server neustarten:
sudo systemctl restart n8n-python-api
- Nun ist der Service per Http Request verfügbar, Test zum prüfen in N8N:
- HTTP Node einrichten
- URL:
http://172.17.0.1:5005/run(Stand 28.05.2025, IP sollte sich nicht ändern) - Body Content Type Json
- Name und Wert frei wählbar
- Test Step klicken
- Service antwortet mit den eingegebenen Daten. Wenn die stimmem und keine Fehlermeldung erscheint ist der Flask Service erreichbar
Infos für Installation weiterer Module / Libraries:
Installation zusätzlicher Module in der Python Env:
- login auf allerlei Server (ssh)
- cd /var/www/n8n/python
- source venv/bin/activate
- => jetzt bist du in der env von python und kannst normal mit “pip install XXX” Module installieren
