Nextcloud mit Ollama integrieren
Was dieser Artikel über Nextcloud-Ollama-Integration behandelt
- Wie Du Nextcloud mit Ollama verbindest.
- Wie Dokumentenzusammenfassung, intelligente Suche und automatisches Tagging funktionieren.
- Wie Du Nextcloud-Apps und Custom Scripts mit Ollama nutzt.
- Praxisbeispiele für Dokumentenverarbeitung, Wissenssuche und Automatisierung.
- Best Practices für Performance, Sicherheit und Datenschutz.
Einleitung: Nextcloud mit Ollama verständlich erklärt
Nextcloud ist eine Self-Hosted Cloud für Dateien, Kalender, Kontakte und mehr. Ollama ist ein lokaler KI-Modellserver. Wenn Du beide verbindest, kannst Du Dokumente in Nextcloud mit KI verarbeiten: automatisch zusammenfassen, intelligent durchsuchen, Tags vergeben, alles lokal, ohne Cloud.
Dieser Artikel richtet sich an Anwender, die Nextcloud mit lokaler KI erweitern wollen. Du solltest verstehen, wie Nextcloud funktioniert und wie Ollama läuft. Grundlagen der Python-Programmierung findest Du auf IRC-Coding.de.
Warum brauche ich Nextcloud mit Ollama?
Stell Dir vor, Du hast hunderte Dokumente in Nextcloud: Verträge, Berichte, Rechnungen. Du willst sie durchsuchen, zusammenfassen, klassifizieren. Ohne KI musst Du jedes Dokument manuell lesen. Mit Ollama in Nextcloud macht das die KI automatisch, lokal, ohne dass Dokumente in die Cloud gehen.
Nextcloud mit Ollama kurz erklärt
Nextcloud speichert Dokumente, Ollama verarbeitet sie mit KI. Integration über Nextcloud-Apps, Custom Scripts oder Webhooks. Alle Daten bleiben lokal.
Der Kerngedanke lautet: Nextcloud speichert, Ollama versteht.
Für wen ist dieser Artikel gedacht?
- Nextcloud-Nutzer, die KI-Funktionen wollen.
- Self-Hoster, die Nextcloud mit KI erweitern.
- Unternehmen, die Dokumente automatisch verarbeiten.
- Teams, die Wissensmanagement automatisieren.
Vorkenntnisse in Nextcloud und Ollama sind hilfreich.
Wichtige Begriffe
- Nextcloud - Self-Hosted Cloud. Wann nützlich: für Dokumentenverwaltung.
- Ollama - Lokaler Modellserver. Wann nützlich: das KI-Backend.
- Nextcloud App - Erweiterung für Nextcloud. Wann nützlich: für native Integration.
- Webhook - HTTP-Callback. Wann nützlich: für Event-getriebene Verarbeitung.
- RAG - Retrieval-Augmented Generation. Wann nützlich: für intelligente Suche.
- Embeddings - Vektor-Repräsentationen. Wann nützlich: für semantische Suche.
- Docker - Container. Wann nützlich: für beide Dienste.
Integrationsmethoden
1. Nextcloud Apps
Es gibt Community-Apps, die Ollama in Nextcloud integrieren:
- Nextcloud Assistant: KI-Assistent für Nextcloud.
- Nextcloud Talk KI: KI in Nextcloud Talk.
- Nextcloud Mail KI: KI für E-Mail-Verarbeitung.
2. Custom Scripts
Du schreibst eigene Skripte, die bei bestimmten Events aufgerufen werden:
# Bei neuem Dokument: Zusammenfassung erstellen
# nextcloud-occ files:scan --path="/user/files/dokumente" --post-process
3. Webhooks
Nextcloud kann Webhooks senden, wenn Events passieren:
# nextcloud Webhook-Konfiguration
webhook:
- event: "file.created"
url: "http://localhost:8000/process-document"
4. Flow-App
Nextcloud Flow ist ein Workflow-Tool innerhalb von Nextcloud:
# Flow: Neues Dokument → Ollama → Tags
trigger: file.created
actions:
- ollama_summarize
- add_tags
Setup: Docker Compose
version: "3.8"
services:
nextcloud:
image: nextcloud:latest
container_name: nextcloud
restart: unless-stopped
ports:
- "8080:80"
volumes:
- nextcloud_data:/var/www/html
- ./apps:/var/www/html/custom_apps
networks:
- ai-network
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
networks:
- ai-network
volumes:
nextcloud_data:
ollama_data:
networks:
ai-network:
driver: bridge
Praxisbeispiel 1: Dokumentenzusammenfassung
# Skript: Bei neuem Dokument Zusammenfassung erstellen
import requests
def on_document_created(file_path, file_id):
"""Wird bei neuem Dokument aufgerufen"""
# 1. Dokument aus Nextcloud lesen
response = requests.get(
f"http://nextcloud/remote.php/dav/files/user/{file_path}",
auth=("user", "password")
)
content = response.text
# 2. Ollama zusammenfassen
summary = call_ollama([
{"role": "system", "content": "Fasse in 3 Sätzen zusammen."},
{"role": "user", "content": content[:4000]}
])
# 3. Zusammenfassung als Kommentar speichern
add_comment(file_id, summary["message"]["content"])
Praxisbeispiel 2: Intelligente Suche mit RAG
def semantic_search(query):
"""Semantische Suche in Nextcloud-Dokumenten"""
# 1. Query-Embedding erstellen
query_embedding = get_embedding(query)
# 2. Ähnliche Dokumente suchen
results = vector_db.search(query_embedding, limit=5)
# 3. Kontext aufbauen
context = "\n".join(r.content for r in results)
# 4. Antwort generieren
response = call_ollama([
{"role": "system", "content": "Beantworte basierend auf den Dokumenten."},
{"role": "user", "content": f"Dokumente:\n{context}\n\nFrage: {query}"}
])
return response["message"]["content"]
Praxisbeispiel 3: Automatisches Tagging
def auto_tag_document(file_id, content):
"""Dokument automatisch taggen"""
# Tags generieren
response = call_ollama([
{"role": "system", "content": "Vergib 3-5 Tags. Antworte als JSON-Array."},
{"role": "user", "content": content[:3000]}
], format="json")
tags = json.loads(response["message"]["content"])
# Tags in Nextcloud setzen
for tag in tags:
add_tag(file_id, tag)
Praxisbeispiel 4: Dokumentenklassifikation
def classify_document(file_id, content):
"""Dokument klassifizieren"""
response = call_ollama([
{"role": "system", "content": """Klassifiziere in:
- rechnung
- vertrag
- bericht
- angebot
- sonstiges
Antworte nur mit der Kategorie."""},
{"role": "user", "content": content[:3000]}
])
category = response["message"]["content"].strip().lower()
# In entsprechenden Ordner verschieben
move_to_folder(file_id, f"dokumente/{category}")
Sicherheitshinweise
- Nextcloud absichern: HTTPS, starke Passwörter, 2FA. Siehe Authentifizierung.
- Ollama absichern: Nicht ins Internet exponieren. Siehe API-Schlüssel.
- Netzwerk-Isolation: Nextcloud und Ollama in eigenem Netzwerk. Siehe Docker Netzwerk-Isolation.
- Audit Logging: Protokolliere alle KI-Verarbeitungen. Siehe Audit Logging.
- Zugriffskontrolle: Nicht jeder sollte alle Dokumente sehen. Siehe Zugriffsschutz.
Typische Stolpersteine
- Docker-Netzwerk: Nextcloud und Ollama müssen im selben Netzwerk sein.
- Performance: Große Dokumente brauchen Zeit. Nutze asynchrone Verarbeitung.
- Kontextlänge: Große Dokumente müssen chunked werden.
- OCR: Gescannte Dokumente brauchen OCR vor der KI-Verarbeitung.
- Fehlerbehandlung: Wenn Ollama nicht erreichbar ist, sollte Nextcloud nicht abstürzen.
Weiterführende Links
- Ollama Integrationen - Andere Tools mit Ollama.
- Ollama REST API - API-Referenz.
- Lokales RAG - Intelligente Suche.
- Nextcloud - Self-Hosted Cloud.
- Docker - Container-Plattform.
- Authentifizierung - Zugriffsschutz.
Key Takeaways:
- Nextcloud + Ollama: Dokumente speichern, KI verarbeitet.
- Integrationen: Apps, Custom Scripts, Webhooks, Flow.
- Anwendungen: Zusammenfassung, Suche, Tagging, Klassifikation.
- Alles lokal, keine Cloud, keine API-Kosten.
- Sicherheit: HTTPS, Authentifizierung, Netzwerk-Isolation.
FAQ
Wie verbinde ich Nextcloud mit Ollama?
Welche Nextcloud-Apps gibt es?
Wie erstelle ich automatische Zusammenfassungen?
Wie baue ich intelligente Suche?
Wie funktioniert automatisches Tagging?
Ist das sicher?
Was kostet das?
Wie performant ist das?
Kann ich gescannte Dokumente verarbeiten?
Welches Modell soll ich nutzen?
Quellen und weiterführende Literatur
- Nextcloud - Self-Hosted Cloud.
- Ollama API - API-Referenz.
- Nextcloud Apps - App Store.
- Docker - Container-Plattform.


