ChatGPT ist praktisch, keine Frage. Aber jeder Prompt, den du dort eintippst, verlässt dein Netz und landet in irgendeinem Rechenzentrum. Die gute Nachricht: Für viele Alltagsaufgaben brauchst du die Cloud gar nicht. Mit Ollama läuft ein Sprachmodell direkt in deinem Proxmox-Homelab: ohne Abo, ohne API-Key, ohne Datenabfluss.
Was bringt dir ein lokales LLM?
- Datenschutz: Prompts, Logs und Dokumente bleiben im Haus. Gerade wenn du Configs oder Fehlermeldungen mit internen Hostnamen analysieren lässt, ist das Gold wert.
- Keine laufenden Kosten: Kein Abo, keine API-Rechnung. Nur der Strom, den dein Host sowieso zieht.
- Bastelfaktor: Eine eigene KI im Rack ist ehrlicherweise auch einfach ein schönes Spielzeug.
Kurz: Du bekommst einen brauchbaren Assistenten für Zusammenfassungen, Textentwürfe und schnelle Fragen, aber keine Magie. Ein 4B-Modell auf CPU ist kein GPT-5, und das ist völlig okay.
Voraussetzungen
- Proxmox VE 8 oder 9
- 4 CPU-Kerne (halbwegs aktuell, mit AVX2)
- 8 GB RAM für kleine Modelle (3–4B), 16 GB wenn es Richtung 7–8B gehen soll
- 20–30 GB Storage, denn Modelle sind mehrere GB groß
- Keine GPU nötig (dazu am Ende mehr)
Weg 1: Ollama im LXC-Container (der pragmatische Weg)
1) Container anlegen
Im Web-GUI über Create CT (oben rechts): Debian-Template, 4 Kerne, 8 GB RAM, 30 GB Disk, unprivileged mit Nesting (Standard). Oder per Shell:
pct create 210 local:vztmpl/<debian-template>.tar.zst \
--hostname ollama --cores 4 --memory 8192 --rootfs local-lvm:30 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp --unprivileged 1 --features nesting=1
Danach prüfen: Mit pct start 210 && pct enter 210 solltest du im Container landen.
2) Ollama installieren
apt update && apt install -y curl
curl -fsSL https://ollama.com/install.sh -o install.sh
less install.sh
sh install.sh
Das less dazwischen ist kein Tippfehler: Blind ein Script aus dem Internet als root ausführen? Lieber erst reinschauen, was da gleich passiert. Berufskrankheit.
Danach prüfen: systemctl status ollama sollte einen laufenden Dienst zeigen.
3) Ollama im Netz erreichbar machen
Standardmäßig lauscht Ollama nur auf localhost. Damit andere Rechner (oder später Open WebUI) drankommen, per systemctl edit ollama ergänzen:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Dann systemctl restart ollama. Danach prüfen: curl http://<LXC-IP>:11434 von einem anderen Rechner. Die Antwort „Ollama is running“ heißt: passt.
4) Modell ziehen und testen
ollama pull llama3.2:3b
ollama run llama3.2:3b "Erkläre mir Proxmox in zwei Sätzen."
Alternativen in der gleichen Gewichtsklasse: qwen3:4b oder gemma3:4b. Wenn eine sinnvolle Antwort zurückkommt und dein RAM nicht explodiert: geschafft.
Weg 2: VM mit Docker und Open WebUI
Du magst es lieber klassisch isoliert oder willst direkt eine Chat-Oberfläche im Browser? Dann nimm eine VM mit Docker und diese compose.yaml:
services:
ollama:
image: ollama/ollama
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
environment:
- OLLAMA_BASE_URL=http://ollama:11434
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
restart: unless-stopped
volumes:
ollama:
open-webui:
Ein docker compose up -d, dann http://<VM-IP>:3000 im Browser öffnen, und du hast eine ChatGPT-ähnliche Oberfläche, die komplett bei dir läuft.
Ein Detail fehlt noch: Der frische Ollama-Container ist leer, deshalb bleibt die Modellauswahl in Open WebUI erstmal grau. Also erst ein Modell ziehen:
docker compose exec ollama ollama pull llama3.2:3b
Danach prüfen: Seite neu laden und das Modell oben im Auswahlmenü anwählen. Wenn es auftaucht: passt.
Stolperfallen
- RAM ist die harte Grenze: Faustregel: Das quantisierte Modell braucht ungefähr seine Dateigröße plus Puffer im Speicher. Ein 8B-Modell will rund 5–6 GB. Wird es eng, swappt der Container und alles fühlt sich an wie Modem-Zeiten.
- Storage-Hunger: Modelle landen unter
/usr/share/ollama/.ollama. Drei, vier Experimente später sind 30 GB schnell voll. Mitollama listundollama rmregelmäßig aufräumen. - VM ohne AVX2 (Proxmox-Klassiker): Neue VMs bekommen von Proxmox standardmäßig den CPU-Typ
x86-64-v2-AES, und der kann kein AVX2. Ollama läuft damit zwar, aber quälend langsam: alle Kerne auf Volllast und trotzdem keine Antwort. Fix: VM herunterfahren, unter Hardware → Prozessoren → Typ aufhoststellen (bei Clustern mit unterschiedlichen CPUs besserx86-64-v3), VM starten. Danach prüfen:grep -o -m1 avx2 /proc/cpuinfosollteavx2liefern. Zur Einordnung aus dem Praxistest: Dieselbe VM, die ohne AVX2 für ein „Hallo“ über eine halbe Minute rechnete, antwortet mit CPU-Typhostin rund einer Sekunde (etwa 15 Tokens/s mit einem 3B-Modell auf 6 vCores; ein 8B-Modell wieqwen3:8bkommt auf derselben Konfiguration noch auf rund 4 Tokens/s). Der LXC-Weg ist davon nicht betroffen, Container sehen die Host-CPU direkt. - Achtung: Die Ollama-API hat keine Authentifizierung. Port 11434 gehört niemals ins Internet: im LAN lassen, per Firewall einschränken oder nur via VPN erreichbar machen.
Wenn du mehr willst: GPU
Mit einer durchgereichten NVIDIA-Karte laufen auch 7–8B-Modelle flüssig, und größere werden überhaupt erst benutzbar. GPU-Passthrough unter Proxmox ist aber ein Kapitel für sich, mit eigenen Stolperfallen. Material für einen eigenen Beitrag.
Fazit
Ollama auf Proxmox ist in einer halben Stunde aufgesetzt: Der LXC-Weg ist ressourcenschonend und schnell, die VM mit Docker und Open WebUI liefert dir dafür direkt eine schicke Chat-Oberfläche mit. Das ist wenig Aufwand, kostet fast nichts und dein Homelab kann danach etwas, wofür andere ein Abo abschließen. Und falls dein Setup inzwischen aus mehr als einem Host besteht: Wie du zwei Nodes sauber zu einem Cluster zusammenfasst, liest du im Beitrag Proxmox Cluster aus zwei Nodes.
