Recognize mit lokaler KI und AppAPI
Diese optionale Erweiterung ergänzt die normale Installation und Quick Install v2 nach der HTTPS-Einrichtung. Sie analysiert Bilder auf dem eigenen Server und speichert erkannte Inhalte als Schlagwörter. Ähnliche Gesichter werden gruppiert; eine automatische Zuordnung zu bekannten Namen erfolgt dadurch nicht.
Die Analyse verwendet vortrainierte Modelle. Ein eigener Trainingslauf oder ein Konto bei einem KI-Cloud-Dienst ist nicht erforderlich. Für Container und Modelle ist zunächst ein Internetdownload nötig. Die Verarbeitung findet anschließend auf der eigenen Infrastruktur statt.
Komponenten und Ressourcen
| Komponente | Aufgabe |
|---|---|
Recognize (recognize) |
Dateien erfassen, Aufgaben verwalten und Ergebnisse speichern |
Recognize Backend (recognize_backend) |
Lokale Analyse als AppAPI-Container |
Memories (memories) |
Fotoansicht mit Schlagwörtern und Personengruppen |
Für diese AppAPI-Variante gelten laut offizieller Dokumentation folgende Werte:
| Voraussetzung | Bedarf |
|---|---|
| Version | Nextcloud ab 35, Recognize ab 13 |
| Docker-Host | x86-64 / linux/amd64 |
| Arbeitsspeicher | Mindestens etwa 8 GB ausschließlich für den Backend-Container |
| Speicherplatz | Etwa 9 GB Container-Image und 3 GB Modelle; zusätzlich Platz für Updates und Bilder |
| CPU | Betrieb ohne GPU möglich; mehrere leistungsfähige Kerne verkürzen die Verarbeitung |
| Optionale GPU | NVIDIA; etwa 4–6 GB VRAM bei allen vier Erkennungsarten |
Als Planungsreserve für Nextcloud und Backend auf demselben Testserver sind insgesamt 16 GB RAM sinnvoll. Dies ist eine Workshop-Empfehlung und keine offizielle Mindestanforderung. Für den ersten Test nur Bilder verarbeiten; Audio und Video bleiben deaktiviert.
Abgrenzung zur klassischen Variante
Recognize kann auch ohne AppAPI mit einem lokalen Node.js-Backend arbeiten. Diese Seite beschreibt ausdrücklich die Container-Variante. Bei älteren Nextcloud-Versionen nicht ungeprüft mit dieser Anleitung fortfahren.
Installation vorbereiten
-
Nextcloud-Version als Root prüfen:
-
Cron-Hintergrundjobs und HTTPS mit Zertifikatsvertrauen fertig einrichten.
- Auf dem Docker-Host Docker installieren und dessen Funktion prüfen. Bei einer LXC-Testumgebung muss die Plattform Docker unterstützen; alternativ einen geeigneten separaten Docker-Host verwenden.
- Namensauflösung und HTTPS-Zugriff zwischen Nextcloud und den Containern prüfen. Hosts-Einträge und Zertifikatsvertrauen des Arbeitsplatzes werden nicht automatisch in Container übernommen.
AppAPI aktivieren und Bereitstellungsdienst einrichten
Falls AppAPI im bisherigen Workshop deaktiviert wurde, wieder aktivieren:
Docker allein reicht für ExApps nicht aus. Zuerst einen Bereitstellungsdienst nach der offiziellen AppAPI-Anleitung einrichten. Für neue Installationen wird dort HaRP empfohlen; die zugehörige Proxy-Konfiguration muss zur vorhandenen Apache-Installation passen.
Unter Administrationseinstellungen → AppAPI den Dienst registrieren, die Verbindung prüfen und als Standard festlegen. Danach im Drei-Punkte-Menü Test deploy ausführen. Dieser Test muss erfolgreich sein, bevor das große Recognize-Backend installiert wird.
Für den Einstieg CPU-Verarbeitung auswählen. GPU-Betrieb erfordert zusätzlich NVIDIA-Treiber und das NVIDIA Container Toolkit auf dem Docker-Host.
Recognize und Memories installieren
Die normalen Nextcloud-Apps installieren:
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ app:install recognize
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ app:install memories
Bereits installierte Apps bei Bedarf über die Appverwaltung aktivieren.
Anschließend in der Appverwaltung nach Recognize Backend suchen und die
ExApp recognize_backend über den eingerichteten Bereitstellungsdienst installieren.
Der erste Download kann wegen der Größe längere Zeit dauern.
Bilderkennung konfigurieren
Unter Administrationseinstellungen → Recognize prüfen, ob die Klassifikation über Nextcloud TaskProcessing aktiviert ist. Diese Umschaltung erfolgt bei installiertem und aktiviertem Backend normalerweise automatisch.
Für die erste Übung:
- Objekterkennung für Bilder aktivieren.
- Gesichtserkennung bei Bedarf ergänzen.
- Audio-, Video- und Wahrzeichenerkennung deaktiviert lassen.
Die Wahrzeichenerkennung benötigt weiterhin das klassische Node.js-Backend und
gehört nicht zu diesem Test. recognize:download-models ist für die hier gezeigte
Container-Bilderkennung nicht erforderlich. Die Modelle werden vom Backend beim
ersten Einsatz heruntergeladen; dafür muss es huggingface.co über HTTPS erreichen.
Funktion mit wenigen Bildern prüfen
Eine kleine Bildsammlung über Nextcloud hochladen. Cron verarbeitet neue Dateien im Hintergrund. Die Warteschlangen und laufenden Aufgaben in den Recognize-Einstellungen beobachten. Der erste Auftrag dauert wegen der Modelldownloads und des Ladens der Modelle länger.
Für vorhandene Dateien lässt sich ein erneutes Erfassen anstoßen:
Dieser Befehl kann den gesamten vorhandenen Bestand in die Warteschlangen
aufnehmen; bei einer großen Sammlung erst nach dem kleinen Funktionstest ausführen.
Im AppAPI-Modus läuft die Analyse über Hintergrundjobs, nicht über
recognize:classify.
Nach abgeschlossener Gesichtsanalyse die Gruppierung anstoßen:
Anschließend in Memories die Bereiche für Schlagwörter und Personen prüfen. Ergebnisse sind Vorschläge und können falsch oder unvollständig sein.
Probleme eingrenzen
| Beobachtung | Prüfung |
|---|---|
| Backend wird nicht angeboten | Nextcloud-/Recognize-Version, aktiviertes AppAPI und Kompatibilität der ExApp prüfen. |
| Bereitstellung schlägt fehl | Zuerst AppAPI-Testbereitstellung, freien Speicher und Containerarchitektur prüfen. |
| Aufgaben bleiben liegen | Cron-Durchläufe, aktiviertes Backend und TaskProcessing-Einstellung prüfen. |
| Erster Auftrag hängt beim Download | HTTPS-Zugriff des Containers auf die Modellquelle prüfen. |
| Hohe Auslastung | Zunächst nur Bilder analysieren, große Bestände außerhalb der Übungszeit einplanen und RAM-Verbrauch beobachten. |
Beim Wechsel vom klassischen Backend sind vorhandene Gesichtsdaten nicht kompatibel. Eine solche Migration vorab nach der offiziellen Dokumentation planen; die Gesichtsdaten nicht während eines einfachen Funktionstests zurücksetzen.
Die Installation wurde hier nicht auf einem laufenden Nextcloud-Server getestet. Versionsabhängige Vorgaben und aktuelle Ressourcenwerte stehen in der Recognize-Dokumentation.