KI lokal hosten: LLM auf eigenem Server
Aktualisiert: 8. Juli 2025

Aufbauend auf dem "n8n selber hosten"-Guide, erweitern wir unsere n8n-Instanz heute um ein lokal gehostetes LLM. Dadurch erhalten wir die Möglichkeit, unsere KI-Agenten in n8n komplett lokal zu betreiben ohne Anbindung externer Dienste wie die GPT-Modelle von OpenAI.
Dazu nutzen wir in diesem Tutorial Ollama und das llama3.2 Modell. Für welches Modell ihr euch entscheidet oder ob ihr sogar mehrere installiert und testet, bleibt euch natürlich frei.
Dazu legen wir zunächst einen neuen User an und fügen ihn der sudo-Gruppe hinzu, um ihm Superuser-Rechte zu geben:
adduser ollama
usermod -aG sudo ollama
Wir wechseln auf den neuen User, legen ein Verzeichnis für ollama an und wechseln in selbiges:
su ollama
cd
mkdir ollama
cd ollama
Hier legen wir nun die docker-compose.yml wie folgt an:
version: '3.8'
services:
ollama:
image: ollama/ollama
container_name: ollama
networks:
- n8n_net
volumes:
- ./ollama_data:/home/ollama/.ollama
ports:
- "11434:11434"
command: ["serve"]
restart: unless-stopped
networks:
n8n_net:
external: true
Anschließend erstellen wir das n8n_net mit folgendem Befehl:
sudo docker network create n8n_net
Nun wechseln wir zurück auf den root user, dann auf unseren im letzten Tutorial erstellten n8n-User und wechseln in das Verzeichnis unserer n8n und Caddy Docker-Installation:
exit
su n8n
cd
cd n8n-docker-caddy
In diesem Verzeichnis finden wir die docker-compose.yml vor, die wir zuvor erstellt hatten:
version: "3.7"
services:
caddy:
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- caddy_data:/data
- ${DATA_FOLDER}/caddy_config:/config
- ${DATA_FOLDER}/caddy_config/Caddyfile:/etc/caddy/Caddyfile
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- 5678:5678
environment:
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
volumes:
- n8n_data:/home/node/.n8n
- ${DATA_FOLDER}/local_files:/files
volumes:
caddy_data:
external: true
n8n_data:
external: true
Dieser fügen wir das zuvor erstellte Netzwerk hinzu, damit sich die beiden Dienste ebenfalls im Netzwerk befinden und wir von n8n aus auf die Ollama-API zugreifen können:
version: "3.7"
services:
caddy:
image: caddy:latest
restart: unless-stopped
networks:
- n8n_net
ports:
- "80:80"
- "443:443"
volumes:
- caddy_data:/data
- ${DATA_FOLDER}/caddy_config:/config
- ${DATA_FOLDER}/caddy_config/Caddyfile:/etc/caddy/Caddyfile
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
networks:
- n8n_net
ports:
- 5678:5678
environment:
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
volumes:
- n8n_data:/home/node/.n8n
- ${DATA_FOLDER}/local_files:/files
volumes:
caddy_data:
external: true
n8n_data:
external: true
networks:
n8n_net:
external: true
Um die Änderungen zu übernehmen, starten wir n8n und Caddy einmal neu:
sudo docker-compose down
sudo docker-compose up -d
Wir wechseln wieder auf den User ollama und starten unter diesem ebenfalls den Ollama Docker-Container:
exit
su ollama
cd
cd ollama
sudo docker-compose up -d
Wir vergewissern uns noch einmal, dass die Container auch wirklich laufen und kopieren uns die ID unseres Ollama-Containers:
sudo docker container list
Wir schalten uns zur Installation unseres gewünschten Modells auf den Ollama-Container:
sudo docker exec -it [ID_DES_OLLAMA_CONTAINERS] /bin/bash
Dort installieren wir z.B. das Modell llama3.2 mit folgendem Befehl:
ollama pull llama3.2
Nun können wir in n8n final unsere OpenAI-Modell-Node gegen die Ollama-Modell-Node austauschen und die Verbindung zu Ollama mittels folgeder Base-URL herstellen:
http://ollama:11434
Nun haben wir die Möglichkeit, in der Ollama-Modell-Node in n8n das installierte Modell auszuwählen, damit dieses fortan für unseren KI-Agenten genutzt wird.