Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR
Ubuntu 24.04 n8n + Ollama AI Agent: Qwen3, Memory und Tools
n8n, Ollama, Qwen3 und lokale AI Agents

n8n + Ollama Qwen3 AI Agent auf Ubuntu 24.04: Vollständiger bebilderter Leitfaden mit Memory, Calculator und HTTP Tools

In dieser realen Ubuntu-24.04.4-LTS-VPS-Installation lief n8n in Docker nur auf Loopback-Port 5678, n8n.ekasunucu.com wurde über Nginx + Let’s Encrypt veröffentlicht, n8n mit dem privaten Ollama-Modell qwen3:4b verbunden und ein Workflow aus Chat Trigger + AI Agent + Simple Memory + Calculator + HTTP Request Tool mit realen Fehlern und erfolgreichen Ausführungen validiert.

Ubuntu 24.04n8nOllamaQwen3qwen3:4bAI Agentn8n AI AgentSimple MemoryCalculator ToolHTTP Request ToolDockerNginxLet’s EncryptSelf Hosted AILocal AIEKA Sunucu
n8n / Ollama / Qwen3 AI Agent / Ubuntu 24.04
Ubuntu 24.04.4 LTS
  ↓ Docker / eka-ai
n8n 2.33.7 :5678
  ↓ AI Agent
Ollama :11434 → qwen3:4b
  ├─ Simple Memory
  ├─ Calculator Tool
  └─ HTTP Request Tool
  ↓
Nginx + HTTPS → n8n.ekasunucu.com
n8n2.33.7 testModelqwen3:4b
24echte WebP-Screenshots
3TR · EN · DE Inhalt
443öffentliches HTTPS
127.0.0.1KI-Dienste Loopback
01n8n Docker + Nginx + TLS
02Ollama qwen3:4b AI Agent
03Memory + Calculator Tool
04HTTP API Tool + reale Fehlerbehebung
00
Inhaltsverzeichnis

Installationsschritte für n8n + Ollama AI Agent unter Ubuntu 24.04

  1. 01Was bauen wir mit n8n + Ollama AI Agent auf Ubuntu 24.04?
  2. 02Ubuntu, Docker und den vorhandenen Ollama-Dienst prüfen
  3. 03eka-ai und den DNS-Eintrag für n8n prüfen
  4. 04n8n_data und stabile Umgebungsvariablen vorbereiten
  5. 05n8n nur auf 127.0.0.1:5678 starten
  6. 06/healthz, n8n-Version und erste Migrationen prüfen
  7. 07Ollama und qwen3:4b aus dem n8n-Container prüfen
  8. 08n8n.ekasunucu.com per Reverse Proxy und Let’s Encrypt veröffentlichen
  9. 095678 und 11434 privat halten und den finalen Stack prüfen
  10. 10n8n-Owner-Konto erstellen und Onboarding abschließen
  11. 11Optional den kostenlosen Registered-Community-Edition-Key aktivieren
  12. 12Workflow erstellen und AI-Agent-Graph aufbauen
  13. 13Chat Trigger + AI Agent + Ollama + Memory importieren
  14. 14“Error in sub-node Ollama Qwen3 4B” beheben
  15. 15qwen3:4b AI Agent nach Credential-Fix ausführen
  16. 16Verhindern, dass das Modell seine Runtime-Identität erfindet
  17. 17Calculator Tool hinzufügen und echten Tool-Aufruf prüfen
  18. 18Alten HTTP-Request-Tool-Fehler supplyData / execute erkennen
  19. 19Aktuelles HTTP Request Tool verwenden und echte API-Daten abrufen
  20. 20Finale Prüfungen vor der Veröffentlichung durchführen
01
Reale Testarchitektur

Was bauen wir mit n8n + Ollama AI Agent auf Ubuntu 24.04?

Dieser Leitfaden dokumentiert die reale n8n-Automatisierungsschicht auf einem Ubuntu-24.04.4-LTS-VPS, das über Ollama laufende Modell qwen3:4b und den vollständigen n8n-AI-Agent-Workflow. n8n, Ollama und Open WebUI laufen in Docker im gemeinsamen Bridge-Netzwerk eka-ai.

Benutzer senden Nachrichten über Chat Trigger. Der AI Agent ruft qwen3:4b über das Ollama Chat Model auf, behält Kontext über Simple Memory und kann Calculator oder HTTP Request Tool verwenden. Die Host-Ports 5678 und 11434 sind nur an Loopback gebunden; Nginx veröffentlicht den Dienst über HTTPS.

Befehl 1
Internet :443
  ↓
Nginx + Let's Encrypt
  ↓
127.0.0.1:5678 → n8n
  ↓ eka-ai
ollama:11434 → qwen3:4b
  ↓
AI Agent + Memory + Calculator + HTTP Tool
02
System und Docker

Ubuntu, Docker und den vorhandenen Ollama-Dienst prüfen

Der reale Testserver lief mit Ubuntu 24.04.4 LTS, Kernel 6.8.0-137-generic, rund 31 GiB RAM und einem 99-GB-Root-Dateisystem. Docker Engine 29.7.2 und Docker Compose v5.4.0 waren aktiv.

Ollama lauschte bereits auf 127.0.0.1:11434 und qwen3:4b war in /api/tags sichtbar. Diese Vorprüfung erleichtert die Trennung späterer Credential- und Netzwerkfehler.

Befehl 1
cat /etc/os-release | grep -E 'PRETTY_NAME|VERSION_ID|VERSION_CODENAME'
uname -r
free -h
df -h /
Befehl 2
docker --version
docker compose version
systemctl is-active docker
Befehl 3
docker ps --filter name='^/ollama$'
curl -sS http://127.0.0.1:11434/api/tags
03
Privates Docker-Netz und DNS

eka-ai und den DNS-Eintrag für n8n prüfen

Da n8n und Ollama in getrennten Containern laufen, zeigt localhost im n8n-Container nicht auf Ollama. Beide Dienste wurden an eka-ai angeschlossen; n8n verwendet http://ollama:11434.

Vor TLS wurde geprüft, dass n8n.ekasunucu.com auf den VPS auflöst. Prüfungen über 1.1.1.1 und 8.8.8.8 helfen, DNS-Propagation von Nginx- oder Certbot-Problemen zu unterscheiden.

Befehl 1
docker network inspect eka-ai --format 'Netz={{.Name}} Driver={{.Driver}} Scope={{.Scope}}'
Befehl 2
dig +short A n8n.ekasunucu.com @1.1.1.1
dig +short A n8n.ekasunucu.com @8.8.8.8
04
Persistenz und Sicherheit

n8n_data und stabile Umgebungsvariablen vorbereiten

n8n-Daten wurden in einem Named Volume statt im vergänglichen Container-Dateisystem gespeichert. Dadurch bleiben Benutzer, Workflows und Credentials bei einer Neuerstellung des Containers erhalten.

N8N_ENCRYPTION_KEY muss stabil bleiben, da damit gespeicherte Credentials geschützt werden. Hinter Nginx sollten öffentliche Editor-URL, Host, Protokoll, Proxy-Hops und Zeitzone explizit gesetzt werden.

Befehl 1
docker volume inspect n8n_data >/dev/null 2>&1 || docker volume create n8n_data
Befehl 2
openssl rand -hex 32
Befehl 3
N8N_ENCRYPTION_KEY=LANGER_ZUFAELLIGER_SCHLUESSEL
N8N_HOST=n8n.ekasunucu.com
N8N_PORT=5678
N8N_PROTOCOL=https
N8N_EDITOR_BASE_URL=https://n8n.ekasunucu.com
WEBHOOK_URL=https://n8n.ekasunucu.com/
N8N_PROXY_HOPS=1
N8N_SECURE_COOKIE=true
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
GENERIC_TIMEZONE=Europe/Istanbul
TZ=Europe/Istanbul
NODE_ENV=production
05
Docker-Deployment

n8n nur auf 127.0.0.1:5678 starten

Wir luden das offizielle n8n-Docker-Image und verbanden den Container mit eka-ai. Port 5678 wurde an 127.0.0.1 statt 0.0.0.0 gebunden, damit der Editor nicht direkt über Docker öffentlich ist.

Das Volume n8n_data wurde unter /home/node/.n8n eingebunden und eine Restart-Policy für Neustarts aktiviert.

Befehl 1
docker pull docker.n8n.io/n8nio/n8n:latest
Befehl 2
docker run -d --name n8n --restart=always --network eka-ai --env-file /root/n8n.env -p 127.0.0.1:5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n:latest
06
Health und Version

/healthz, n8n-Version und erste Migrationen prüfen

Der lokale Endpoint /healthz lieferte HTTP 200 mit {"status":"ok"}. Die reale Testinstanz meldete n8n 2.33.7.

Datenbankmigrationen beim ersten Start sind normal. Im Log fehlte Python 3 für den internen Python-Task-Runner; der JavaScript-basierte AI-Workflow funktionierte dennoch.

Befehl 1
curl -sS http://127.0.0.1:5678/healthz
Befehl 2
docker exec n8n n8n --version
Befehl 3
docker logs --tail 120 n8n
07
KI-Test zwischen Containern

Ollama und qwen3:4b aus dem n8n-Container prüfen

Ein Ollama-Test auf dem Host reicht nicht. Wir riefen aus dem n8n-Container http://ollama:11434/api/tags auf. HTTP 200 wurde geliefert und qwen3:4b war vorhanden.

Danach wurde ein echter /api/chat-Aufruf aus n8n gesendet. Die Antwort N8N-OLLAMA-BAGLANTISI-BASARILI bestätigte Docker-DNS, Ollama-API und Modellinferenz.

Befehl 1
docker exec n8n node -e "fetch('http://ollama:11434/api/tags').then(r=>r.text()).then(console.log)"
Befehl 2
docker exec n8n node -e "fetch('http://ollama:11434/api/chat',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({model:'qwen3:4b',messages:[{role:'user',content:'Schreibe nur N8N-OLLAMA-BAGLANTISI-BASARILI'}],stream:false})}).then(r=>r.json()).then(d=>console.log(d.message?.content))"
08
Nginx und TLS

n8n.ekasunucu.com per Reverse Proxy und Let’s Encrypt veröffentlichen

Da n8n nur auf Loopback lauscht, übernimmt Nginx die öffentliche Webschicht. Host- und X-Forwarded-Header sowie WebSocket-Upgrades wurden weitergereicht; Proxy-Buffering wurde deaktiviert und Timeouts erhöht.

Der erste HTTP-Domaintest ergab 404. Nach Vhost- und Certbot-Konfiguration wurde das Let’s-Encrypt-Zertifikat erfolgreich installiert; Origin-HTTPS und öffentliche Domain lieferten HTTP 200.

Befehl 1
cat > /etc/nginx/sites-available/n8n.ekasunucu.com <<'EOF'
server {
    listen 80;
    listen [::]:80;
    server_name n8n.ekasunucu.com;
    client_max_body_size 100m;
    location / {
        proxy_pass http://127.0.0.1:5678;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_buffering off;
        proxy_read_timeout 3600;
        proxy_send_timeout 3600;
    }
}
EOF
Befehl 2
nginx -t && systemctl reload nginx
Befehl 3
/snap/bin/certbot --nginx -d n8n.ekasunucu.com --email [email protected] --agree-tos --no-eff-email --non-interactive --redirect
09
Öffentliche Angriffsfläche

5678 und 11434 privat halten und den finalen Stack prüfen

Im finalen Portcheck lauschte n8n auf 127.0.0.1:5678, Ollama auf 127.0.0.1:11434 und Open WebUI auf 127.0.0.1:3000. Öffentlich waren nur Nginx 80 und 443.

Portainer, Ollama, Open WebUI und n8n liefen gleichzeitig. Der Certbot-Renewal-Dry-Run war erfolgreich und systemctl --failed meldete keine fehlgeschlagenen Units.

Befehl 1
ss -lntp | grep -E ':5678[[:space:]]|:11434[[:space:]]|:3000[[:space:]]|:443[[:space:]]|:80[[:space:]]'
Befehl 2
docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'
Befehl 3
/snap/bin/certbot renew --dry-run
systemctl --failed --no-pager
10
Erste Anmeldung

n8n-Owner-Konto erstellen und Onboarding abschließen

Beim Öffnen der HTTPS-Domain erschien das Formular für das Owner-Konto. Wir erstellten den Instanzbesitzer mit E-Mail, Vorname, Nachname und starkem Passwort.

Anschließend zeigte n8n optionale Personalisierungsfragen. Sie sind für die Workflow-Engine nicht erforderlich.

11
Community Edition

Optional den kostenlosen Registered-Community-Edition-Key aktivieren

Die Instanz kann ohne diesen optionalen Schritt als Community Edition laufen. Im Test forderten wir unter Usage and plan den kostenlosen Registrierungs-Key an, erhielten ihn per E-Mail und aktivierten ihn; die Oberfläche zeigte danach Registered.

Dies öffnete die damals von n8n angebotenen ausgewählten kostenlosen Registrierungsfunktionen. Lizenzbedingungen und Funktionsumfang können sich ändern; maßgeblich sind aktuelle Oberfläche und offizielle Lizenzinformationen.

12
Erster Workflow

Workflow erstellen und AI-Agent-Graph aufbauen

Auf der Workflows-Seite erstellten wir einen neuen Workflow. Chat Trigger ist der Benutzereingang und AI Agent der Root-Node für Modell- und Tool-Aufrufe.

Der Basisgraph bestand aus Chat Trigger, AI Agent, Ollama Chat Model und Simple Memory. Später kamen Calculator und HTTP Request Tool am Tool-Eingang hinzu.

13
Workflow-Struktur

Chat Trigger + AI Agent + Ollama + Memory importieren

Im Export verbindet sich Chat Trigger mit dem Main-Eingang des AI Agent, Ollama Qwen3 4B über ai_languageModel und Simple Memory über ai_memory. Der System-Prompt erzwingt türkische Antworten und den echten Modellnamen qwen3:4b.

Workflow-Exports sollten nicht als sichere Verteilungsmethode für Credentials verstanden werden. Erstellen Sie das Ollama-Credential auf der Zielinstanz.

Befehl 1
Chat Trigger → AI Agent
Ollama Qwen3 4B ──ai_languageModel──▶ AI Agent
Simple Memory ──ai_memory────────────▶ AI Agent
14
Realer Fehler #1

“Error in sub-node Ollama Qwen3 4B” beheben

Beim ersten importierten Lauf war Chat Trigger erfolgreich, AI Agent und Ollama-Subnode schlugen jedoch fehl. Ein nutzbares Ollama-Credential war nicht ausgewählt.

Wir erstellten ein Ollama-Credential mit Base URL http://ollama:11434. localhost:11434 wäre zwischen getrennten Containern falsch, da localhost zurück auf n8n zeigt.

Befehl 1
Ollama Credential Base URL:
http://ollama:11434
15
Realer AI-Agent-Test

qwen3:4b AI Agent nach Credential-Fix ausführen

Nach dem Speichern des Credentials liefen Chat Trigger, AI Agent, Ollama Qwen3 4B und Simple Memory erfolgreich; n8n zeigte Workflow executed successfully.

Die erste Antwort erfand einen Modellnamen. Nach einer präziseren System-Anweisung nannte der Agent korrekt Ollama als Runtime und qwen3:4b als Modell.

16
Modellidentität und Anweisung

Verhindern, dass das Modell seine Runtime-Identität erfindet

Ein LLM verfügt nicht automatisch über zuverlässige Introspektion der Laufzeitkonfiguration. Im ersten Test erfand es einen Namen wie SenEKA-Local-1.0. Das war ein Prompt-Grounding-Problem, kein Ollama-Verbindungsfehler.

Wir legten explizit fest: Runtime Ollama, Modell qwen3:4b und keine erfundenen Modellnamen. Technische Identitätsangaben sollten an die reale Workflow-Konfiguration gebunden werden.

Befehl 1
Du bist ein vollständig lokaler KI-Agent auf EKA Sunucu.
Deine Runtime ist Ollama und dein Sprachmodell ist qwen3:4b.
Wenn nach dem Modell gefragt wird, antworte qwen3:4b.
Erfinde keine andere Modellidentität.
17
Tool-Nutzung #1

Calculator Tool hinzufügen und echten Tool-Aufruf prüfen

Calculator wurde mit dem Tool-Eingang des AI Agent verbunden und der System-Prompt fordert seine Nutzung für Berechnungen.

Bei “3478 × 129, benutze den Rechner” wurde Calculator tatsächlich aufgerufen. Das Tool lief in etwa 1 ms und der Agent lieferte korrekt 448662.

Befehl 1
Test: 3478 × 129, benutze den Rechner.
Erwartet: 448662
18
Realer Fehler #2

Alten HTTP-Request-Tool-Fehler supplyData / execute erkennen

Unser erster HTTP-Tool-Versuch verwendete den alten Node-Typ @n8n/n8n-nodes-langchain.toolHttpRequest. Die Ausführung scheiterte mit “has a supplyData method but no execute method”.

Das war kein Netzwerk- oder JSONPlaceholder-Fehler. Der Node-Typ war mit der laufenden n8n-Version inkompatibel und wurde durch die aktuelle HTTP-Request-Tool-Implementierung ersetzt.

Befehl 1
Fehler: The node '@n8n/n8n-nodes-langchain.toolHttpRequest' has a 'supplyData' method but no 'execute' method.
19
Tool-Nutzung #2

Aktuelles HTTP Request Tool verwenden und echte API-Daten abrufen

Der alte Node wurde durch das aktuelle HTTP Request Tool am AI Agent ersetzt. Für einen reproduzierbaren Test wurde GET https://jsonplaceholder.typicode.com/todos/1 verwendet.

Beim Auftrag, OrnekAPIVeriGetir zu verwenden und die Daten auf Türkisch zu erklären, lief das HTTP-Tool erfolgreich. Der Agent fasste userId 1, id 1, title “delectus aut autem” und completed false zusammen.

Befehl 1
GET https://jsonplaceholder.typicode.com/todos/1
Befehl 2
Test: OrnekAPIVeriGetir verwenden und die API-Daten auf Türkisch erklären.
20
Produktions-Checkliste

Finale Prüfungen vor der Veröffentlichung durchführen

Am Ende ist n8n über HTTPS erreichbar, während 5678 und 11434 privat bleiben. Netzwerk n8n→Ollama, qwen3:4b-Inferenz, Memory, Calculator und HTTP-API-Tool-Aufrufe wurden real getestet.

Für Produktion sollten Image-Versionen bewusst verwaltet, n8n_data und Ollama-Daten gesichert, N8N_ENCRYPTION_KEY geschützt und Credential-Zugriffe begrenzt werden. Als nächster Schritt eignet sich Qdrant-basiertes RAG.

Befehl 1
docker ps
docker stats n8n ollama --no-stream
curl -sS https://n8n.ekasunucu.com/ -o /dev/null -w '%{http_code}\n'
/snap/bin/certbot renew --dry-run
systemctl --failed --no-pager
Production checklist

Produktions-Sicherheitscheckliste für n8n + Ollama AI Agent

Ports 5678 und 11434 nicht direkt öffentlich freigeben.
n8n über Nginx HTTPS 443 veröffentlichen und WebSocket-Header erhalten.
N8N_ENCRYPTION_KEY sichern und geheim halten.
n8n_data und Ollama-Modell-Volumes regelmäßig sichern.
Starkes einzigartiges Passwort und bei Bedarf 2FA verwenden.
Credentials nach Least-Privilege vergeben und Workflow-Exports nicht zur Secret-Verteilung verwenden.
Externe Endpoints und Datenflüsse bei Community Nodes und HTTP Tools prüfen.
Vor Image-Upgrades Snapshots erstellen und Versionsänderungen testen.
Certbot renew --dry-run, systemctl --failed und Docker-Logs regelmäßig prüfen.
n8n Security Audit und Execution Logs regelmäßig kontrollieren.
R
Offizielle Quellen

Offizielle n8n- und Ollama-Quellen

+
EKA Sunucu

Verwandte EKA-Sunucu-Ratgeber zu Self-Hosted AI und Linux

?
FAQ

Häufige Fragen zur Installation von n8n + Ollama AI Agent

Läuft n8n unter Ubuntu 24.04 in Docker?

Ja. Unser realer Test lief mit n8n 2.33.7 als Docker-Container auf Ubuntu 24.04.4 LTS.

Müssen n8n und Ollama im selben Container laufen?

Nein. Sie können in getrennten Containern im selben Docker-Netz laufen; n8n nutzt dann http://ollama:11434.

Warum funktioniert localhost:11434 aus n8n nicht?

localhost im n8n-Container zeigt auf n8n selbst. Ollama ist ein anderer Container und wird über seinen Docker-DNS-Namen angesprochen.

Welchen Port verwendet n8n?

Der Anwendungsport ist 5678. Wir banden ihn nur an 127.0.0.1 und veröffentlichten n8n über Nginx HTTPS 443.

Warum ein n8n_data-Volume?

Damit Benutzer, Workflows und Credentials beim Neuerstellen des Containers erhalten bleiben.

Warum muss N8N_ENCRYPTION_KEY erhalten bleiben?

n8n schützt damit gespeicherte Credentials. Verlust oder Änderung kann den Zugriff auf vorhandene Credentials beschädigen.

Ist n8n Community Edition kostenlos?

Die Self-Hosted Community Edition kann genutzt werden. Zusätzlich aktivierten wir den damals angebotenen kostenlosen Registrierungs-Key; Zusatzfunktionen können sich ändern.

Reicht qwen3:4b für einen AI Agent?

Im realen Test funktionierten Chat Trigger, Memory, Calculator und HTTP Tool. Für komplexere Agenten kann ein größeres Modell sinnvoll sein.

Warum erfand der Agent einen Modellnamen?

Das Modell kennt seine Runtime-Identität nicht automatisch zuverlässig. Der echte Name qwen3:4b wurde im System-Prompt verankert.

Wurde Calculator Tool wirklich verwendet?

Ja. 3478 × 129 wurde über Calculator ausgeführt und korrekt mit 448662 beantwortet.

Warum scheiterte HTTP Request Tool zuerst?

Der erste Workflow nutzte einen älteren LangChain-HTTP-Tool-Node. Mit dem aktuellen HTTP Request Tool war der Fehler behoben.

Müssen 5678 und 11434 öffentlich sein?

Nein. Beide wurden auf localhost begrenzt; öffentlicher n8n-Zugriff erfolgt ausschließlich über Nginx HTTPS.

Wie teste ich die SSL-Erneuerung?

Mit certbot renew --dry-run lässt sich der Renewal-Ablauf simulieren, ohne das aktive Zertifikat zu ersetzen.

Was ist der nächste Schritt?

Qdrant und ein Embedding-Modell hinzufügen, um RAG-basierte Dokumentsuche und eine private Wissensbasis aufzubauen.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Leistungsstarker Linux-VPS für n8n, Ollama und AI Agents gesucht?

Betreiben Sie n8n-Automatisierungen, Ollama-Modelle, Open WebUI, Qdrant und weitere Self-Hosted-AI-Dienste auf eigener Infrastruktur mit EKA-Sunucu-Linux-VPS-Paketen.

Aktualisiert: 10.08.2026
Linux-VPS-Pakete ansehenLinux- & VPS-Ratgeber
Top