Zurück zum Blog

Ollama installieren: KI-Modelle auf dem eigenen Server betreiben

KI-Modelle mit Ollama auf dem eigenen Server betreiben: Installation, Wahl von Modell und RAM, API, Open WebUI, sicherer Zugriff und CPU-Auslastung.

Nodesty-Team5 Min. LesezeitServer
Der Schriftzug Ollama mit LLM, API und Open WebUI auf dunklem Nodesty-Hintergrund

Ollama ist ein Open-Source-Werkzeug, mit dem Sie offene KI-Modelle wie Llama, Qwen, Gemma und Mistral mit einem einzigen Befehl auf Ihrem eigenen Computer oder Server herunterladen und ausführen. Nach der Installation können Sie mit den Modellen auf der Kommandozeile sprechen, sie über eine API an Ihre Anwendungen anbinden oder sie mit einer Oberfläche wie Open WebUI im Browser nutzen. Ihre Daten verlassen Ihren Server nicht, und Sie zahlen keine Gebühren pro Anfrage.

In dieser Anleitung erklären wir, wie Sie Ollama auf einem Linux-Server installieren, das richtige Modell und die passende RAM-Größe wählen, die API nutzen, mit Open WebUI eine Weboberfläche einrichten, den Zugriff absichern und worauf Sie bei der CPU-Auslastung achten müssen. Die Anleitung geht davon aus, dass die Modelle auf einem Server ohne Grafikkarte auf dem Prozessor laufen.

Ollama installieren

Nachdem Sie sich per SSH mit Ihrem Server verbunden haben, führen Sie das offizielle Installationsskript von Ollama aus:

curl -fsSL https://ollama.com/install.sh | sh

Das Skript installiert Ollama und startet es als systemd-Dienst. Prüfen Sie den Status:

systemctl status ollama
ollama --version

Standardmäßig lauscht Ollama nur auf der Adresse 127.0.0.1:11434; das ist eine sichere Voreinstellung.

Das erste Modell ausführen

So laden Sie ein Modell herunter und starten einen Chat:

ollama run llama3.2

Beim ersten Aufruf wird das Modell heruntergeladen; anschließend können Sie auf der Kommandozeile mit dem Modell sprechen. Zum Beenden geben Sie /bye ein. Häufig verwendete Befehle:

BefehlWas macht er?
ollama pull modelLädt ein Modell herunter
ollama run modelFührt das Modell aus und startet einen Chat
ollama listListet die heruntergeladenen Modelle auf
ollama psZeigt die in den Speicher geladenen Modelle an
ollama rm modelLöscht ein Modell

Die verfügbaren Modelle und ihre Größen finden Sie in der Modellbibliothek auf der Website von Ollama.

Modell und RAM wählen

Läuft das Modell auf dem Prozessor, wird es in den RAM des Servers geladen. Grob benötigen Sie so viel RAM, wie die Modelldatei groß ist, plus einige GB Reserve:

Modellgröße (auf 4 Bit komprimiert)Ungefährer RAM-BedarfNutzung auf dem Prozessor
1–3 Milliarden Parameter2–4 GBSchnell; geeignet für einfache Aufgaben
7–8 Milliarden Parameter6–8 GBBrauchbare Geschwindigkeit, gute Qualität
12–14 Milliarden Parameter10–16 GBWird langsamer; erfordert Geduld
30 Milliarden und mehr20 GB und mehrAuf dem Prozessor meist sehr langsam
  • Komprimierung (Quantisierung): Komprimierte Versionen der Modelle, etwa mit 4 Bit, brauchen deutlich weniger RAM und laufen schneller; der Qualitätsverlust ist für die meisten Anwendungen gering.
  • Geschwindigkeit: Auf dem Prozessor hängt die Antwortgeschwindigkeit von der Zahl der Kerne, der Speichergeschwindigkeit und der Modellgröße ab. Beginnen Sie mit einem kleinen Modell und steigern Sie die Größe nach Bedarf.
  • Lizenz: Jedes Modell hat seine eigene Lizenz; prüfen Sie sie vor einer kommerziellen Nutzung.

Nutzung über die API

Ollama stellt eine HTTP-API bereit, damit sich Ihre Anwendungen mit dem Modell verbinden können:

curl http://127.0.0.1:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Warum sollte ich ein Backup meines Servers machen?",
  "stream": false
}'

Für Anfragen im Chat-Stil wird die Adresse /api/chat verwendet. Zusätzlich bietet Ollama eine OpenAI-kompatible API (/v1/chat/completions); Anwendungen, die OpenAI-Client-Bibliotheken nutzen, verbinden Sie mit Ollama, indem Sie einfach die Adresse ändern.

Weboberfläche mit Open WebUI

Um die Modelle im Browser über eine Chat-Oberfläche zu nutzen, können Sie das Open-Source-Projekt Open WebUI mit Docker installieren:

docker run -d -p 127.0.0.1:3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui --restart always \
  ghcr.io/open-webui/open-webui:main

Da der Port nur an die Adresse 127.0.0.1 gebunden ist, wird die Oberfläche nicht ins Internet geöffnet. Die Installation von Docker und die Sicherheit von Ports erklären wir in unserer Anleitung Docker installieren.

Sicherer Zugriff

Die API von Ollama hat keine Authentifizierung. Öffnen Sie Port 11434 ins Internet, kann jeder, der ihn findet, die Ressourcen Ihres Servers nutzen. Stattdessen:

  • SSH Tunnel: Greifen Sie von Ihrem eigenen Computer sicher auf die API oder auf Open WebUI zu:
    ssh -L 3000:127.0.0.1:3000 -L 11434:127.0.0.1:11434 benutzer@203.0.113.10
    

    Öffnen Sie anschließend im Browser die Adresse http://127.0.0.1:3000. Details finden Sie in unserem Artikel Was ist ein SSH Tunnel?.
  • Reverse Proxy: Wenn Sie Open WebUI über eine Domain für Ihr Team freigeben, setzen Sie Nginx mit SSL davor und nutzen Sie die eigenen Benutzerkonten von Open WebUI. Details finden Sie in unserer Anleitung Nginx installieren.

Müssen Sie die Lauschadresse von Ollama ändern, können Sie die Umgebungsvariable OLLAMA_HOST im systemd-Dienst setzen; stellen Sie die Adresse jedoch auf 0.0.0.0, öffnen Sie den Port in der Firewall nur für Adressen, denen Sie vertrauen.

CPU-Auslastung und Performance

Während das Modell eine Antwort erzeugt, lastet es alle Kerne des Prozessors stark aus. Für einen Assistenten, den einige Personen gelegentlich nutzen, ist das kein Problem, eine dauerhafte und intensive Nutzung ist jedoch etwas anderes:

  • Begrenzen Sie gleichzeitige Anfragen. Viele Anfragen zur selben Zeit verlangsamen alle Anfragen.
  • Halten Sie Modelle nicht länger als nötig im Speicher. Ollama entfernt ungenutzte Modelle nach einer gewissen Zeit aus dem Speicher; diese Zeit lässt sich einstellen.
  • Überwachen Sie die Ressourcennutzung. Wie Sie CPU- und Speichernutzung im Blick behalten, erklären wir in unserer Anleitung Server Monitoring.

Auf virtuellen Servern unterliegt die CPU-Nutzung den Fair-Use-Regeln des Anbieters. Für KI-Workloads, die den ganzen Tag ununterbrochen eine hohe CPU-Auslastung erfordern, ist ein dedizierter Server, dessen Hardware Ihnen vollständig zur Verfügung steht, besser geeignet.

Ollama bei Nodesty

Mit den Optionen mit viel RAM der Pakete AMD EPYC 7763 vServer von Nodesty halten Sie Modelle mit 7–8 Milliarden Parametern problemlos im Speicher. Auf virtuellen Servern muss die durchschnittliche CPU-Auslastung gemäß unserer Fair-Use-Richtlinie unter 75 % bleiben; wenn Sie das Modell den ganzen Tag intensiv betreiben, wählen Sie unsere dedizierten Server, deren Prozessor Sie rund um die Uhr zu 100 % auslasten können.

Häufig gestellte Fragen

Kann ich Ollama ohne Grafikkarte betreiben?

Ja. Ist keine Grafikkarte vorhanden, führt Ollama die Modelle auf dem Prozessor aus. Kleine und komprimierte (quantisierte) Modelle antworten auf einem leistungsstarken Prozessor in brauchbarer Geschwindigkeit. Große Modelle laufen auf dem Prozessor dagegen langsam; für sie ist Hardware mit Grafikkarte besser geeignet.

Wie viel RAM braucht welches Modell?

Grob benötigen Sie so viel RAM, wie die Modelldatei groß ist, plus einige GB Reserve. Kleine Modelle mit 1–3 Milliarden Parametern kommen mit wenigen GB aus, auf 4 Bit komprimierte Modelle mit 7–8 Milliarden Parametern mit etwa 6–8 GB. Größere Modelle verlangen Dutzende GB RAM.

Welchen Vorteil hat es, ein Modell auf dem eigenen Server zu betreiben?

Ihre Daten verlassen Ihren Server nicht, Sie zahlen keine Gebühren pro Anfrage und können das Modell frei auswählen und einstellen. Im Gegenzug können Antwortgeschwindigkeit und Qualität hinter großen Cloud-Modellen zurückbleiben; auch Hardware und Wartung liegen in Ihrer Verantwortung.

Sollte ich die Ollama-API ins Internet öffnen?

Nein. Die API von Ollama hat keine Authentifizierung; jeder, der eine offene API findet, kann die Ressourcen Ihres Servers nutzen. Belassen Sie die API auf der Adresse 127.0.0.1 und greifen Sie per SSH Tunnel oder über einen Reverse Proxy mit Authentifizierung darauf zu.

Darf ich die Modelle in kommerziellen Projekten verwenden?

Das hängt von der Lizenz des jeweiligen Modells ab. Manche Modelle sind für die kommerzielle Nutzung freigegeben, andere enthalten Einschränkungen oder zusätzliche Bedingungen. Lesen Sie die Lizenz, bevor Sie ein Modell in Ihrem Produkt einsetzen.

Warum antworten die Modelle so langsam?

Bei Modellen, die auf dem Prozessor laufen, hängt die Geschwindigkeit von der Zahl der Kerne, der Speichergeschwindigkeit und der Größe des Modells ab. Ein kleineres oder stärker komprimiertes Modell, eine kürzere Kontextlänge und eine begrenzte Zahl gleichzeitiger Anfragen beschleunigen die Antworten.

Nodesty

Über den Autor

Nodesty-Team · Infrastruktur und Support

Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.

Verwandte Artikel

Starte deinen Server jetzt.

Erstellen, wachsen und skalieren Sie Ihre Projekte grenzenlos auf der Premium-Infrastruktur von Nodesty.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································