added ollama role and host

This commit is contained in:
2026-08-05 11:21:54 +02:00
parent 25593dafa0
commit 6a3a1020db
12 changed files with 171 additions and 0 deletions

59
roles/ollama/README.md Normal file
View File

@@ -0,0 +1,59 @@
# Ansible Role: ollama
Diese Rolle richtet einen Debian-Host vollständig als Ollama-Server ein.
Sie installiert Ollama über das offizielle Installationsskript, aktiviert den systemd-Dienst `ollama` und erzeugt einen systemd-Override, damit der Server auf allen Interfaces lauscht (`OLLAMA_HOST=0.0.0.0:11434`). Anschließend werden die über die Variable `ollama_models` definierten Modelle automatisch heruntergeladen jeweils nur, wenn sie noch nicht vorhanden sind.
Eine Firewall-Konfiguration wird bewusst nicht vorgenommen.
## Anforderungen
Diese Rolle wurde für Debian-basierte Systeme entwickelt und getestet (Debian, Ubuntu insbesondere LXC-Container).
Das offizielle Installationsskript lädt die neueste Ollama-Version von `https://ollama.com/install.sh` und benötigt dafür `curl`. Dieses wird vom Skript bei Bedarf selbst mit installiert.
## Rollenvariablen
Die folgenden Variablen können angepasst werden, um das Verhalten der Rolle zu steuern. Die Standardwerte sind in `defaults/main.yml` definiert.
| Variable | Standardwert | Beschreibung |
|---|---|---|
| `ollama_host` | `"0.0.0.0:11434"` | Host/Port, auf dem der Ollama-Server lauschen soll. `0.0.0.0` bedeutet alle Interfaces. |
| `ollama_install_script_url` | `"https://ollama.com/install.sh"` | URL des offiziellen Ollama-Installationsskripts. |
| `ollama_models` | `["qwen3:8b"]` | Liste der Modelle, die automatisch heruntergeladen werden. |
## Abhängigkeiten
Diese Rolle hat keine Abhängigkeiten von anderen Ansible-Rollen.
## Beispiel-Playbook
So können Sie die Rolle in Ihr Playbook integrieren:
```yaml
- hosts: ollama
become: true
roles:
- ollama
```
Um weitere Modelle herunterzuladen, überschreiben Sie die Variable im Playbook oder in den `host_vars`:
```yaml
- hosts: ollama
become: true
vars:
ollama_models:
- qwen3:8b
- llama3.1:8b
roles:
- ollama
```
## Lizenz
MIT
## Autor
Ihr Name