Local-First-Workflows für Large Language Models (LLMs) gewinnen an Bedeutung: Entwicklerinnen und Entwickler schätzen die Kontrolle über Daten, die Möglichkeit für Offline-Experimente und geringere Abhängigkeit von externen Diensten. Ollama ist ein Framework, das das Laden, Verwalten und Ausführen von LLMs lokal vereinfacht. Auf Fedora lässt sich Ollama komfortabel in einem Podman-Container betreiben — so bleiben Systembibliotheken, Python-Umgebungen und große Modellgewichte getrennt vom Basissystem.
Warum Ollama in einem Container?
Ollama bündelt Modellgewichte, Konfigurationen und Metadaten und stellt eine lokale API zum Generieren von Texten bereit. Ein Container bietet mehrere Vorteile: reproduzierbare Laufumgebungen, einfache Bereitstellung und Trennung der Abhängigkeiten von der Host-Installation. Insbesondere bei großen Modellen erspart ein Containermanagement das wiederholte Herunterladen und vermeidet das „Verschmutzen“ der Systemumgebung durch verschiedene Bibliotheksversionen.
Voraussetzungen auf Fedora
Podman ist die empfohlene Containerlösung auf Fedora. Auf Fedora Workstation ist Podman in der Regel bereits vorhanden; fehlt es, lässt es sich mit dem Paketmanager nachinstallieren:
sudo dnf install podman -y
Wer Fedora Silverblue verwendet, kann Podman direkt aus dem unveränderlichen Basissystem nutzen, ohne zusätzliche Schritte.
Persistenten Speicher für Modellgewichte anlegen
Modelldateien können sehr viel Platz benötigen — je nach Architektur mehrere Gigabyte bis dutzende Gigabyte. Um zu vermeiden, dass die Gewichte bei jedem Neustart des Containers neu gezogen werden, legt man ein benanntes Podman-Volume an und speichert dort die Daten dauerhaft:
podman volume create ollama_storage
Dieses Volume kann bei jedem Containerstart wieder angehängt werden, sodass die Modelle persistent bleiben und nicht erneut heruntergeladen werden müssen.
Ollama-Container starten
Den Ollama-Dienst starten Sie über einen einzelnen podman run-Aufruf, der das vorher erzeugte Volume einbindet und den API-Port auf den Host freigibt. Beispiel:
podman run -d
-v ollama_storage:/root/.ollama
-p 11434:11434
--name ollama
ollama/ollama
Damit läuft Ollama im Hintergrund. Der Dienst hört standardmäßig auf Port 11434; dieser Port wird in obigem Beispiel auf die Hostmaschine durchgeleitet, sodass lokale Tools und Skripte auf die API zugreifen können.
GPU-Beschleunigung
Die Standardausführung nutzt die CPU. Wer eine Nvidia-GPU an den Container durchreichen möchte, benötigt das passende Container-Toolkit für die Hardware und kann die GPU-Geräteoption hinzufügen. Bei Nvidia-Systemen wird typischerweise die Device-Option verwendet, zum Beispiel:
--device nvidia.com/gpu=all
Damit kann Ollama die GPU zur Beschleunigung beim Inferenzlauf nutzen. Voraussetzung ist eine korrekt konfigurierte GPU-Umgebung auf dem Host.
Modelle herunterladen und starten
Sobald der Container läuft, lässt sich ein Modell aus der Ollama-Umgebung herausladen und ausführen. Ein praktisches Beispiel ist Llama 3 als lokal ausführbares Modell; den Download und Start übernimmt der Ollama-Client innerhalb des Containers, etwa per podman exec. Beim ersten Start werden die Gewichte in das gebundene Volume geschrieben und stehen für spätere Starts sofort zur Verfügung.
Lokale API anfragen und in Apps integrieren
Ollama stellt eine REST-API bereit, über die lokale Anwendungen oder Skripte Anfragen an das Modell senden können. Die API-Endpunkte akzeptieren JSON-Payloads mit Angaben zum Modell und Prompt und liefern strukturierte JSON-Antworten zurück. Auf diese Weise lassen sich lokale Modelle unkompliziert in Webanwendungen, Command-Line-Tools oder Editor-Extensions integrieren, ohne dass eine Internetverbindung nötig ist.
Containerverwaltung und Monitoring
Die üblichen Podman-Kommandos helfen beim Betrieb:
- podman ps — laufende Container auflisten
- podman logs ollama — Server-Logs einsehen
- podman stop ollama — Container anhalten
- podman rm ollama — Container entfernen
Wenn der Container gestoppt wird, bleibt das Modell-Volume erhalten. Beim nächsten Start mit demselben Volume sind die heruntergeladenen Modelle sofort wieder verfügbar, sodass keine erneuten Downloads notwendig sind.
Tipps und Einschränkungen
- Speicherbedarf: Planen Sie ausreichend Plattenplatz ein — Modellgewichte können je nach Variante mehrere Gigabyte bis deutlich mehr einnehmen.
- GPU-Unterstützung: Für echte Inferenzbeschleunigung ist eine korrekt konfigurierte GPU-Toolchain auf dem Host erforderlich.
- Isolierung: Container schützen das Basissystem vor Bibliothekskonflikten, ersetzen aber kein vollständiges Deployment-Management für Produktion.
Fazit
Die Kombination aus Ollama und Podman ist auf Fedora eine pragmatische Lösung, um LLMs lokal und reproduzierbar zu betreiben. Sie ermöglicht Entwicklung unter vollständiger Kontrolle über Daten und Infrastruktur, hält das Host-System sauber und macht es einfach, große Modelle dauerhaft auf dem Rechner zu halten. Für Entwicklerinnen und Entwickler, die lokale Experimente, Offline-Nutzung oder Datenschutzanforderungen priorisieren, ist dies eine praktikable und leichtgewichtige Methode.