Ollama führt Sprachmodelle wie Llama, Qwen oder Mistral auf deinem eigenen Server aus; Ollama läuft lokal (laut Ollama-FAQ, Stand: 08.11.2026).
Dafür brauchst du einen VPS (Virtual Private Server, ein virtueller Server im Rechenzentrum) mit genug Arbeitsspeicher für dein Modell; wie viel das ist, steht im Abschnitt „Modelle und Speicherbedarf“.
In diesem Guide installierst du Docker, sicherst den Server mit einer Firewall ab, startest Ollama mit der Web-Oberfläche Open WebUI und richtest HTTPS mit Traefik ein.
Welcher VPS für dein Modell?
Der Ollama-Rechner zeigt passende Server für Llama, Qwen und weitere Modelle; wie die Liste gewichtet ist, steht auf der Methodik-Seite.
Zum Ollama VPS-RechnerVoraussetzungen
Du brauchst:
- Einen VPS mit genug Arbeitsspeicher für dein Modell (Größen im Abschnitt „Modelle und Speicherbedarf“, den Gesamtbedarf schätzt der Ollama-Rechner). Tarife und Preise inkl. USt zeigt der VPS-Vergleich.
- Ubuntu in einer von Docker unterstützten Version, etwa 22.04, 24.04 oder 26.04 LTS (laut Docker-Doku, Stand: 08.11.2026)
- SSH-Zugang zum Server
- Optional: eine Domain für HTTPS
Server für Ollama gesucht?
Der VPS-Vergleich zeigt Tarife mit Arbeitsspeicher, vCPU und Preis inkl. USt.
Zum VPS-VergleichSchritt 1: Docker installieren
Installiere Docker über das apt-Repository, wie es die Docker-Doku beschreibt. Das Komfort-Skript get.docker.com ist laut Docker-Doku nicht für Produktivumgebungen gedacht (laut Docker-Doku, Stand: 08.11.2026).
# GPG-Schlüssel von Docker hinzufügen
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Repository eintragen
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
# Docker Engine und Compose-Plugin installieren
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Mitglieder der Gruppe docker haben Root-Rechte (laut Docker-Doku, Stand: 08.11.2026). Die Befehle in diesem Guide stehen ohne sudo; bist du nicht in der Gruppe docker, stellst du sudo voran.
Schritt 2: Firewall einrichten
Gib SSH vor ufw enable frei, sonst kann die Verbindung abbrechen; eingehender Verkehr ist standardmäßig gesperrt (laut Ubuntu-Manpage, Stand: 08.11.2026). Betreibst du SSH auf einem anderen Port, gib diesen frei. Die Ports 80 und 443 braucht Traefik in Schritt 5.
sudo ufw allow proto tcp from any to any port 22
sudo ufw allow proto tcp from any to any port 80
sudo ufw allow proto tcp from any to any port 443
sudo ufw enable
Ports, die Docker veröffentlicht, umgehen ufw (laut Docker-Doku, Stand: 08.11.2026). Ohne Host-Adresse veröffentlicht Docker einen Port auf allen Adressen (laut Docker-Doku, Stand: 08.11.2026). Deshalb veröffentlicht Ollama in diesem Guide keinen Port, und Open WebUI ist vor dem HTTPS-Schritt nur an 127.0.0.1:3000 gebunden.
Schritt 3: Ollama und Open WebUI mit Docker Compose starten
Ollama läuft als Dienst ollama mit dem Image ollama/ollama; die Modelle liegen im Volume ollama (laut Ollama-Doku, Stand: 08.11.2026). Ollama gibt es auch als Linux-Installation ohne Docker (laut Ollama-Doku, Stand: 08.11.2026). Open WebUI ist eine Web-Oberfläche für Ollama; Chats, Benutzer und Einstellungen liegen im Volume open-webui (laut Open-WebUI-Doku, Stand: 08.11.2026).
Lege ein Verzeichnis an und erzeuge einen Schlüssel für WEBUI_SECRET_KEY mit openssl rand -hex 32 (laut Open-WebUI-Doku, Stand: 08.11.2026):
mkdir -p ~/ollama && cd ~/ollama
openssl rand -hex 32
Lege dort die Datei compose.yaml an und trage den Schlüssel ein:
services:
ollama:
image: ollama/ollama
restart: always
volumes:
- ollama:/root/.ollama
networks:
- ollama-net
open-webui:
image: ghcr.io/open-webui/open-webui:main
restart: always
ports:
- "127.0.0.1:3000:8080"
volumes:
- open-webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- WEBUI_SECRET_KEY=DEIN_SCHLUESSEL
networks:
- ollama-net
networks:
ollama-net:
name: ollama-net
volumes:
ollama:
open-webui:
Open WebUI erreicht Ollama über den Dienstnamen; die Adresse setzt OLLAMA_BASE_URL (laut Open-WebUI-Doku, Stand: 08.11.2026). Mit name: ollama-net heißt das Netz genau so, ohne Projektpräfix; Container aus anderen Compose-Projekten können es dann einbinden (laut Docker-Doku, Stand: 08.11.2026). Eine version-Zeile brauchst du nicht, sie ist obsolet (laut Docker-Doku, Stand: 08.11.2026).
docker compose up -d
Öffne von deinem Rechner einen SSH-Tunnel mit ssh -L 3000:127.0.0.1:3000 user@SERVER-IP (laut Ubuntu-Manpage, Stand: 08.11.2026) und rufe http://localhost:3000 auf. Lege sofort den Admin-Account an: Das erste Konto wird Administrator; danach ist die offene Registrierung abgeschaltet, und Konten, die sich trotzdem anmelden, warten als „pending“ auf Freigabe (laut Open-WebUI-Doku, Stand: 08.11.2026).
Prüfe danach von deinem Rechner aus, dass http://SERVER-IP:3000 und http://SERVER-IP:11434 nicht antworten.
Schritt 4: Erstes Modell herunterladen
Der Tag llama3.2 zeigt auf die 3B-Variante mit 2,0 GB (laut Ollama-Bibliothek, Stand: 08.11.2026). Ollama-Befehle führst du im Container aus (laut Ollama-Doku, Stand: 08.11.2026):
docker compose exec ollama ollama pull llama3.2
Modell ausprobieren:
docker compose exec ollama ollama run llama3.2
>>> Schreibe ein Haiku über Server-Hosting
Tipp: Beim ersten Aufruf lädt Ollama das Modell in den Arbeitsspeicher; laut Ollama-FAQ bleibt es standardmäßig fünf Minuten geladen (laut Ollama-FAQ, Stand: 08.11.2026).
Schritt 5: HTTPS mit Traefik einrichten
Open WebUI beendet TLS nicht selbst; HTTPS übernimmt ein Reverse Proxy (laut Open-WebUI-Doku, Stand: 08.11.2026). Ersetze compose.yaml durch diese Fassung. Der Dienst ollama bleibt gleich, bei Open WebUI entfällt ports:
services:
traefik:
image: traefik:v3.7
restart: always
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --certificatesresolvers.letsencrypt.acme.httpchallenge=true
- --certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web
- [email protected]
- --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./letsencrypt:/letsencrypt
networks:
- ollama-net
ollama:
image: ollama/ollama
restart: always
volumes:
- ollama:/root/.ollama
networks:
- ollama-net
open-webui:
image: ghcr.io/open-webui/open-webui:main
restart: always
volumes:
- open-webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- WEBUI_SECRET_KEY=DEIN_SCHLUESSEL
- WEBUI_SESSION_COOKIE_SECURE=true
networks:
- ollama-net
labels:
- traefik.enable=true
- traefik.http.routers.webui.rule=Host(`chat.deinedomain.de`)
- traefik.http.routers.webui.entrypoints=websecure
- traefik.http.routers.webui.tls.certresolver=letsencrypt
- traefik.http.services.webui.loadbalancer.server.port=8080
networks:
ollama-net:
name: ollama-net
volumes:
ollama:
open-webui:
Danach docker compose up -d. Zu den Einstellungen:
- Das Image
traefik:v3.7entspricht der Traefik-Doku (laut Traefik-Doku, Stand: 08.11.2026). exposedByDefaultsteht standardmäßig auftrue; mitfalseroutet Traefik nur Container mittraefik.enable=true. Den Port von Open WebUI setztloadbalancer.server.port(laut Traefik-Doku, Stand: 08.11.2026).- API und Dashboard von Traefik bleiben aus; in Produktion empfiehlt die Doku sie nicht (laut Traefik-Doku, Stand: 08.11.2026).
- Traefik liest über den Docker-Socket die Labels der Container. Uneingeschränkter Zugriff auf die Docker-API ist laut Traefik-Doku ein Sicherheitsrisiko; die Doku nennt Alternativen wie einen filternden Socket-Proxy (laut Traefik-Doku, Stand: 08.11.2026).
WEBUI_SESSION_COOKIE_SECURE=truegehört hinter HTTPS (laut Open-WebUI-Doku, Stand: 08.11.2026).- Docker veröffentlicht 80 und 443 an ufw vorbei (laut Docker-Doku, Stand: 08.11.2026); das ist hier gewollt.
Tipp: Ersetze
chat.deinedomain.dedurch deine Domain, deren DNS-A-Record auf die Server-IP zeigt. Port 80 muss für Let's Encrypt erreichbar sein (laut Traefik-Doku, Stand: 08.11.2026).
Bonus: Ollama mit n8n verbinden
n8n bringt Ollama-Nodes mit, die über ein Ollama-Credential auf deinen Server zugreifen (laut n8n-Doku, Stand: 08.11.2026).
Läuft n8n wie im n8n-Guide in einem eigenen Compose-Projekt, bindest du dort das Netz ollama-net als externes Netz ein (laut Docker-Doku, Stand: 08.11.2026):
services:
n8n:
networks:
- default
- ollama-net
networks:
ollama-net:
external: true
default hält n8n mit der Datenbank seines Projekts verbunden. Starte n8n danach mit docker compose up -d neu.
Hast du für n8n nach dem n8n-Guide Caddy auf demselben Server eingerichtet, belegt Caddy wie Traefik die Ports 80 und 443; beide zugleich starten nicht. Lass Schritt 5 dann weg: Open WebUI bleibt wie in Schritt 3 an 127.0.0.1:3000 gebunden, du ergänzt im Caddyfile einen Block chat.deinedomain.de mit reverse_proxy 127.0.0.1:3000 (laut Caddy-Doku, Stand: 08.11.2026) und setzt bei Open WebUI WEBUI_SESSION_COOKIE_SECURE=true (laut Open-WebUI-Doku, Stand: 08.11.2026).
- Lege ein Ollama-Credential an. Die Base URL ist laut n8n-Doku standardmäßig
http://localhost:11434; Container im selben Docker-Netz sprechen Ollama über den Dienstnamen an, hierhttp://ollama:11434. Das API-Key-Feld bleibt leer (laut n8n-Doku, Stand: 08.11.2026). - Wähle das Modell, etwa
llama3.2. - Verbinde den Node mit einem Trigger deines Workflows.
Anwendungsfälle:
- E-Mails zusammenfassen und kategorisieren
- Support-Tickets analysieren und priorisieren
- Content für Social Media erstellen
- Dokumente in strukturierte Daten umwandeln
Performance-Tuning
Diese Einstellungen setzt du als Umgebungsvariablen beim Dienst ollama in compose.yaml (laut Ollama-FAQ, Stand: 08.11.2026) und übernimmst sie mit docker compose up -d.
Kontextlänge
Ollama nutzt standardmäßig 4096 Tokens Kontext; OLLAMA_CONTEXT_LENGTH ändert das. Im interaktiven Modus geht es mit /set parameter num_ctx 8192 (laut Ollama-FAQ, Stand: 08.11.2026).
ollama:
environment:
- OLLAMA_CONTEXT_LENGTH=8192
- OLLAMA_KEEP_ALIVE=10m
Modelle geladen halten
Modelle bleiben standardmäßig fünf Minuten geladen. OLLAMA_KEEP_ALIVE ändert das und nimmt eine Dauer wie 10m oder 24h, eine Zahl in Sekunden, einen negativen Wert (bleibt geladen) oder 0 (sofort entladen) an. Ein leerer Aufruf lädt das Modell vorab (laut Ollama-FAQ, Stand: 08.11.2026):
docker compose exec ollama ollama run llama3.2 ""
OLLAMA_MAX_LOADED_MODELS begrenzt die Zahl geladener Modelle (bei CPU standardmäßig drei), OLLAMA_NUM_PARALLEL die parallelen Anfragen je Modell (Standard eins). Der Speicherbedarf wächst mit OLLAMA_NUM_PARALLEL × OLLAMA_CONTEXT_LENGTH (laut Ollama-FAQ, Stand: 08.11.2026).
Monitoring
ollama ps zeigt die geladenen Modelle (laut Ollama-Doku, Stand: 08.11.2026):
docker compose exec ollama ollama ps
Modelle und Speicherbedarf
Größe und Kontextlänge gängiger Modelle in der Ollama-Bibliothek:
| Modell (Tag) | Parameter | Größe laut ollama.com | Kontext laut ollama.com | Quelle |
|---|---|---|---|---|
llama3.2 (3B) | 3 Mrd. | 2,0 GB | 128K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
llama3.1:8b | 8 Mrd. | 4,9 GB | 128K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
qwen2.5:7b | 7 Mrd. | 4,7 GB | 32K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
qwen2.5:14b | 14 Mrd. | 9,0 GB | 32K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
mistral:7b | 7 Mrd. | 4,4 GB | 32K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
deepseek-coder:6.7b | 6,7 Mrd. | 3,8 GB | 16K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
llava:7b (Text und Bilder als Eingabe) | 7 Mrd. | 4,7 GB | 32K | laut Ollama-Bibliothek, Stand: 08.11.2026, laut Ollama-Bibliothek, Stand: 08.11.2026 |
mistral-small:24b | 24 Mrd. | 14 GB | 32K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
llama3.3:70b | 70 Mrd. | 43 GB | 128K | laut Ollama-Bibliothek, Stand: 08.11.2026 |
Zur Dateigröße kommt Speicher für den Kontext: Er wächst mit OLLAMA_NUM_PARALLEL × OLLAMA_CONTEXT_LENGTH (laut Ollama-FAQ, Stand: 08.11.2026). Ollama nutzt standardmäßig 4096 Tokens, auch wenn das Modell mehr erlaubt. Dazu kommen Betriebssystem, Docker, Open WebUI und Traefik. Den Gesamtbedarf schätzt der Ollama-Rechner.
RackDiff listet derzeit keine GPU-Server; auf einem VPS rechnet Ollama auf der CPU. Wie schnell ein Modell antwortet, hängt von CPU, Modellgröße und Kontext ab.
Häufige Probleme
Open WebUI oder n8n finden Ollama nicht
- Hängen die Container im Netz
ollama-net?docker network inspect ollama-netzeigt die verbundenen Container. - Steht die Base URL auf
http://ollama:11434? Bei Open WebUI setzt sieOLLAMA_BASE_URL(laut Open-WebUI-Doku, Stand: 08.11.2026). - Von außen bleibt Ollama bewusst unerreichbar: Der Dienst veröffentlicht keinen Port.
Arbeitsspeicher reicht nicht
Nutze ein kleineres Modell oder eine kleinere Variante, etwa llama3.2:1b mit 1,3 GB (laut Ollama-Bibliothek, Stand: 08.11.2026) oder llama3.1:8b-instruct-q4_0 mit 4,7 GB (laut Ollama-Bibliothek, Stand: 08.11.2026), oder verringere OLLAMA_CONTEXT_LENGTH.
Langsame Antworten
Auf der CPU hängt die Geschwindigkeit von CPU, Modellgröße und Kontext ab; ein kleineres Modell oder ein kürzerer Kontext entlastet. RackDiff listet derzeit keine GPU-Server.
Fazit
Du betreibst jetzt Ollama mit Open WebUI und HTTPS auf deinem eigenen Server. Updates, Backups und die Absicherung liegen bei dir.
Für Updates holst du im Verzeichnis ~/ollama mit docker compose pull die neuen Images und startest mit docker compose up -d. Compose erstellt geänderte Container neu und behält die eingebundenen Volumes (laut Docker-Doku, Stand: 08.11.2026).
Auf demselben VPS kannst du weitere Dienste betreiben, etwa Vaultwarden als Passwort-Manager oder Immich für Fotos; plane deren Speicherbedarf mit ein.
Häufig gestellte Fragen
Brauche ich Docker für Ollama?
Kann ich mehrere Modelle gleichzeitig nutzen?
Wie update ich Ollama?
Ist CPU-Inferenz für Produktivbetrieb geeignet?
Listet RackDiff GPU-Server für Ollama?
Weitere Self-Hosting Guides
VPS für Ollama gesucht?
Der Ollama-Rechner zeigt passende Server für Llama, Qwen und weitere Modelle; wie die Liste gewichtet ist, steht auf der Methodik-Seite.
Zum Ollama-Rechner




