Zum Inhalt

Ollama-Stack

Lokale LLM-Inferenz auf der Intel-iGPU mit Open WebUI als Frontend, dazu RAG über Qdrant und Dokument-Extraktion über Docling. Ollama · Open WebUI

Fachlich abgelöst durch den AI-Server

Seit Juli 2026 trägt der AI-Server alle Sprachmodelle des Homelabs — mit deutlich mehr Speicher, MoE-Modellen und gemessenen Rollen. Dieser Stack läuft weiter, ist aber der Ablösung vorgesehen. Was hier noch fehlt: Die RAG-Funktion (Qdrant + Docling) ist auf dem AI-Server noch nicht nachgebaut. Bis dahin bleibt der Stack in Betrieb.

Zugriff

Web-UI https://chat.home.robinwerner.net (hinter Traefik)
Ollama IPEX (Text, Embeddings) http://10.10.10.3:11434
Ollama Vision http://10.10.10.3:11435
Qdrant intern, http://qdrant:6333
Docling intern, http://docling-serve:5001

Netz: ollama_internal, Open WebUI zusätzlich in proxy_network. Prometheus hängt ebenfalls in ollama_internal, um dort scrapen zu können.

Container

Container Zweck Basis
ollama-ipex Text-LLMs und Embeddings auf der Intel-iGPU Eigenbau aus vendor/ollama-webui-intel (IPEX-LLM via oneAPI/SYCL)
ollama-vision Vision-Modelle auf der CPU ollama/ollama
qdrant Vektor-Datenbank für RAG qdrant/qdrant
docling-serve OCR und Dokument-Extraktion nach Markdown quay.io/docling-project/docling-serve
open-webui Chat-Frontend mit Multi-Backend ghcr.io/open-webui/open-webui

Beide Ollama-Instanzen mounten /dev/dri; die IPEX-Instanz braucht zusätzlich die oneAPI-Umgebungsvariablen. Modelle bleiben dauerhaft geladen (OLLAMA_KEEP_ALIVE=-1).

Pfade

Pfad Zweck
/mnt/ssd/container-data/ollama/ipex IPEX-Modelle
/mnt/ssd/container-data/ollama/vision Vision-Modelle
/mnt/ssd/container-data/ollama/qdrant Qdrant-Vektorspeicher
/mnt/ssd/container-data/ollama/docling Docling-Modell-Cache
/mnt/ssd/container-data/ollama/openwebui Open WebUI: Datenbank und Uploads

Alle Pfade sind im Borgmatic-Backup enthalten.

Secrets

Verwaltet über den Infisical-Agent (Pfad /ollama), der nach /run/infisical/ollama.env rendert.

Key Wofür
RENDER_GID GID der render-Gruppe auf dem NUC (optional, Default 109)
QDRANT_API_KEY Open-WebUI-seitige Authentifizierung zu Qdrant
QDRANT__SERVICE__API_KEY Qdrant-seitig, derselbe Wert
WEBUI_SECRET_KEY Signatur der Open-WebUI-Cookies
EXA_API_KEY Web-Suche (optional)

Betrieb

cd /opt/rpi-docker-compose/ollama
docker compose up -d
docker compose logs -f

# Text-Modelle (IPEX-Instanz)
docker exec ollama-ipex /usr/local/lib/python3.11/dist-packages/bigdl/cpp/libs/ollama/ollama list
docker exec ollama-ipex /usr/local/lib/python3.11/dist-packages/bigdl/cpp/libs/ollama/ollama pull <modell>

# Vision-Modelle
docker exec ollama-vision ollama list

Der Pfad zum Ollama-Binary in der IPEX-Instanz ist ungewöhnlich, weil das Binary aus dem BigDL-Paket kommt und nicht im PATH liegt.

Voraussetzung

infisical-agent.service muss auf dem NUC laufen und /run/infisical/ollama.env gerendert haben, sonst startet der Stack ohne seine Secrets.