KI-Werkstatt

Künstliche Intelligenz für alle

Remotezugriff für Ollama einrichten

Wenn ihr den Remote-Zugriff für Ollama einrichtet, ist Ollama von 'aussen' sprich über das Netzwerk, erreichbar. Das ist ein Problem für die Sicherheit von Ollama und natürlich auch für die Sicherheit des Rechners. Nicht ohne Grund ist Ollama nach der Installation nur über localhost erreichbar. Ihr müsst also sicherstellen, dass der Zugriff auf den Rechner kontrolliert wird und nur Personen Zugang bekommen, die auch die nötigen Rechte haben. In einem WLAN für zuhause sollte der Zugang schon über den WLAN-Router gesichert sein. In einem Firmennetzwerk oder sogar im Internet müsst ihr unbedingt für die nötige Sicherheit sorgen.

Ausgangssituation

In den meisten Anleitungen wird erklärt, dass es ausreicht, die nötigen Einstellungen in Umgebungsvariablen zu hinterlegen. Diese Variablen sind danach in der Konsole (Shell) verfügbar. Ollama sucht beim Aufstarten diese Variablen und übernimmt die in den Variablen gespeicherten Werte. Das ist einerseits richtig, funktioniert aber nicht, wenn Ollama als System-Service (systemd) gestartet wird.

Ein System-Service erhält beim Start eine eigene, isolierte Shell. Die gesetzten Umgebungsvariablen sind in dieser Shell nicht verfügbar. Findet Ollama die Variablen nicht, werden einfach die Standardeinstellungen übernommen. Ollama startet ohne Fehlermeldung auf und die Einstellungen bzw. die in den Variablen gesetzten Werte werden nicht übernommen.

Startup-Script

Jeder System-Service benötigt ein Startup-Script. Dieses Skript enthält genaue Anweisungen, wie die Anwendung gestartet werden muss. Damit die benötigten Umgebungsvariablen verfügbar sind, müssen die Variablen im Skript vor dem eigentlichen Start des Service gesetzt werden. Die Skripte sind im Verzeichnis /etc/systemd/system gespeichert und tragen für gewöhnlich den Namen der Anwendung, für die sie verantwortlich sind. Im Fall von Ollama lautet der Dateiname ollama.service. Diese Datei muss mit einem Texteditor geöffnet und angepasst werden.

Nano

Alle, die sich mit dem Editieren von Dateien in der Shell auskennen, können diesen Abschnitt überspringen. Für die anderen folgt eine kurze Erklärung, was es mit dem Texteditor Nano auf sich hat. Nano ist ein einfacher, aber sehr nützlicher Texteditor für die Shell. Alte Schweden fühlen sich zurecht in die Zeiten vor Windows zurückversetzt, als MS Word noch mit unzähligen, kryptischen Tastaturbefehlen gesteuert werden musste.

Zum Glück halten sich die Befehle für das Editieren von Textdateien mit Nano in Grenzen. Die Befehle können schnell auswendig gelernt werden. Ihr werdet immer wieder in die Situation kommen, dass ihr in der Shell Dateien editieren oder neue Dateien erstellen müsst. Hier ist Nano eine zuverlässige Hilfe. Seht euch die Manpage von Nano genau an, bevor ihr mit den Änderungen am Startup-Script beginnt.

Nano
Nanos Befehlsleiste: Keine Angst, es sieht komplizierter aus, als es ist.

Startup-Script anpassen

Nur berechtigte Benutzer dürfen Änderungen an den Skripten vornehmen. Deshalb muss die Datei ollama.service mit sudo geöffnet werden:sudo nano /etc/systemd/system/ollama.service

Im Editor muss direkt nach dem Eintrag [Service] folgende Zeile eingefügt werden:

Environment="OLLAMA_HOST=0.0.0.0"

Der Eintrag bewirkt, dass Ollama an sämtliche verfügbare Netzwerkschnittstellen gebunden wird.

Ollama-Service Skript
So sollte die Datei nach der Änderung aussehen.

Mit dem Befehl ctrl + o kann die Änderung gespeichert werden. Mit dem Befehl ctrl + x könnt ihr den Editor verlassen.

Damit die Änderungen übernommen werden, muss der Ollama-Service neu gestartet werden:sudo systemctl daemon-reload
sudo systemctl restart ollama
Danach ist Ollama für den Remote-Zugriff konfiguriert.