Sorty Hilfe

Administrator-Dokumentation.

Sorty installieren, konfigurieren und betreiben. Mit Anleitungen für getrennte Dienste, Speichereinrichtung und Wiederherstellung.

Betriebsmodell wählen

Der Webserver ist der Zugang für Browser und App. Die ExecutionEngine verarbeitet Medien und greift auf Quellen, Ausgabeordner und Sicherungen zu. Eine gemeinsame Datenbank enthält Metadaten, Konfiguration, Rechte und Auftragsstatus. Fotos und Videos liegen auf den konfigurierten Speichern. Der Suchkoordinator übernimmt KI-Suchen und läuft standardmäßig im Webserver. Für bildgestützte KI-Suche ist ein erreichbarer KI-Dienst erforderlich.

Modell Einsatz Aufbau
Standalone Ein Archiv oder ein kleines Team MySQL, Webserver und Engine auf einem Rechner. MySQL ist lokal gebunden.
Getrennte Dienste NAS, zentrale Datenbank oder höhere Verarbeitungslast Ein Webserver und eine oder mehrere Engines mit derselben Datenbank.
Zwei Suchkoordinatoren Übernahme nach Ausfall eines Koordinatorprozesses Zwei zusätzliche Dienste. Für den Schutz vor Hostausfall auf verschiedene Rechner verteilen und diesen Ausfall separat prüfen.
Reverse Proxy oder VPN Sicherer Fernzugriff Der Proxy terminiert HTTPS, oder Nutzer greifen über das VPN auf Sortys interne HTTPS-Adresse zu.

Erfasse vor der Installation Hosts, interne und öffentliche Adressen, Datenbank, Speicherorte, Dienstkonten, Sicherungsziele und Verantwortliche. Die Datenbank, der Webserver und die benötigten Speicher bleiben auch mit zwei Koordinatoren eigene Ausfallpunkte.

Installation und Inbetriebnahme

Die Setups gibt es für Windows 10/11 x64, Debian ab 12 beziehungsweise Ubuntu ab 22.04 x64 mit systemd sowie Raspberry Pi 5 mit 64-Bit Raspberry Pi OS. Linux-Setups verwenden apt. Plane für den Pi im Standalone-Betrieb 8 GB RAM, aktive Kühlung und das passende Netzteil ein. Die Setups benötigen während der Installation Internetzugang für Laufzeiten und Modelle sowie bei Standalone für MySQL. Vergleiche vor dem Start die SHA-256-Prüfsumme mit dem Downloadbereich.

Paket Windows x64 Linux x64 Raspberry Pi 5 ARM64
Standalone Sorty-Standalone-Setup-Windows.exe Sorty-Standalone-Setup-Linux.run Sorty-Standalone-Setup-RaspberryPi.run
Webserver Sorty-WebApp-Setup-Windows.exe Sorty-WebApp-Setup-Linux.run Sorty-WebApp-Setup-RaspberryPi.run
Engine Sorty-ExecutionEngine-Setup-Windows.exe Sorty-ExecutionEngine-Setup-Linux.run Sorty-ExecutionEngine-Setup-RaspberryPi.run
Suchkoordinator Sorty-Coordinator-Setup-Windows.exe Sorty-Coordinator-Setup-Linux.run Sorty-Coordinator-Setup-RaspberryPi.run

Standalone

  1. Binde Daten- und Sicherungsspeicher ein. Verwende feste Laufwerksbuchstaben oder Einhängepunkte. Richte den Zugriff für das Engine-Dienstkonto ein.
  2. Starte die Windows-Datei mit Administratorrechten. Unter Linux führe das passende Paket mit sudo sh aus, zum Beispiel sudo sh Sorty-Standalone-Setup-Linux.run.
  3. Öffne Sorty auf dem Installationsrechner unter https://localhost/ oder dem vom Setup angezeigten Port. Bei belegtem Port 443 ist der Ausweichport üblicherweise 8443. Prüfe das lokale Zertifikat, bevor du ihm vertraust. Lege das erste Sorty-Administratorkonto an.
  4. Lege einen Mandanten sowie Quelle und Ausgabeordner an. Teste beide Verbindungen. Sortiere zunächst eine kleine Auswahl und vergleiche Ablage und Originale. Aktiviere Quellenlöschung erst nach diesem Test.

Getrennter Webserver und mehrere Engines

  1. Richte die gemeinsame Datenbank und getrennte Zugänge für Webserver und Engine ein. Erlaube den Datenbankport nur von den beteiligten Rechnern.
  2. Installiere den Webserver mit Host, Port, Name und Zugang der Datenbank. Das Webserver-Setup kann eine leere Datenbank initialisieren. Prüfe für einen vorhandenen Bestand den Schemastand.
  3. Installiere das Engine-Setup je Verarbeitungsrechner und gib dieselbe Datenbank an. Prüfe die registrierte Adresse und den Engine-Port aus Sicht des Webservers. TCP 8766 ist der Standard. Beschränke den Zugang darauf auf Webserver und getrennte Koordinatoren.
  4. Benenne die Engines in Sorty, ordne sie Mandanten zu und entscheide, welche Engines Aufträge gemeinsam bearbeiten. Jede beteiligte Engine muss die benötigten Speicher und Modelle erreichen. Halte die Rollen auf kompatiblen Versionen.
  5. Prüfe Anmeldung, Verarbeitung, Suchmodus und Originalabruf. Teste bei gemeinsam genutztem Speicher auch Abruf und Bearbeitung über unterschiedliche Engines. Lege danach die erste Sicherung an.

Datenbank und Dienste

Die Setups verwenden MySQL 8.4. PostgreSQL 16 und SQL Server 2025 werden manuell eingerichtet. SQL Server benötigt eine Sortierung ohne Unterscheidung von Groß- und Kleinschreibung, etwa Latin1_General_100_CI_AI. Standardports sind 3306, 5432 und 1433. Prüfe bei entfernten Datenbanken verschlüsselte Verbindungen und Zertifikatsprüfung für Webserver und Engine getrennt. Nutze ein geschütztes Netz oder einen Tunnel, wenn ein Treiber die Serveridentität nicht zuverlässig prüfen kann.

Setze in der Webserver-Konfiguration Database:Provider auf MySQL, PostgreSQL oder SqlServer. ConnectionStrings:Sorty enthält die Verbindungszeichenfolge des Anbieters. Die Engine verwendet DatabaseProvider, DatabaseHost, DatabasePort, DatabaseName, DatabaseUsername und DatabasePassword. Anbieter und Datenbank müssen übereinstimmen. Verwende ein gesondertes Einrichtungskonto für Schemaänderungen. Speichere Zugangsdaten geschützt und halte sie aus Tickets und Protokollen heraus.

Manuelle Datenbankanbindung prüfen

Lege die Datenbank mit den Werkzeugen des Anbieters an. PostgreSQL verwendet das Standardschema public, SQL Server dbo. Verwende einen zum Zertifikat passenden DNS-Namen. Bei PostgreSQL lässt sich auf Webserver-Seite mit SSL Mode=VerifyFull und passender Stamm-CA die Serveridentität prüfen. Bei SQL Server verwende dafür Encrypt=True und TrustServerCertificate=False mit einem gültigen Zertifikat. Prüfe Verbindung, Verarbeitung und Rücksicherung für den gewählten Anbieter vor dem Produktivstart. Stelle den Datenbankanbieter auch an getrennten Koordinatoren passend ein.

Schema verwalten

Starte die installierte Webserver-Anwendung aus ihrem Installationsverzeichnis mit db-init für eine leere Datenbank, db-check zur Prüfung oder db-migrate für eine Aktualisierung. Beispiel mit der mitgelieferten Laufzeit unter Linux:

sudo -u sorty /opt/sorty/dotnet/dotnet Sorty.Frontend.Web.dll db-check

Unter Windows starte dotnet .\Sorty.Frontend.Web.dll db-check aus dem Webserver-Installationsverzeichnis und nutze bei Bedarf die mitgelieferte Laufzeit. Für Migrationen gilt: Bestand sichern, betroffene Dienste im Wartungsfenster anhalten, Versionshinweise für den Ausgangsstand befolgen, dann mit der neuen Anwendung migrieren und prüfen. Sehr alte Installationen können vor der ersten versionierten Migration 20261122 Zwischenschritte benötigen. Untersuche einen Teillauf anhand der Fehlermeldung und des gesicherten Ausgangsstands.

Dienste und Rechte

Zweck Windows Linux und Raspberry Pi
Dienste SortyWeb, SortyEngine, SortyMySQL sorty-web, sorty-engine, sorty-mysql
Webserver-Konfiguration beim Setup C:\Program Files\Sorty\WebServer\appsettings.Local.json /opt/sorty/web/appsettings.Local.json
Geschützte Einstellungen C:\ProgramData\Sorty und dienstspezifische Einstellungen /etc/sorty, dienstspezifische Einstellungen und systemd-Overrides
Mitgelieferte Datenbank C:\ProgramData\Sorty\MySQL /var/lib/sorty-mysql
Diagnose Ereignisanzeige und %TEMP%\Sorty-Setup.log journalctl -u sorty-web oder journalctl -u sorty-engine

Neue Windows-Installationen verwenden getrennte virtuelle Dienstkonten unter NT SERVICE. Updates übernehmen vorhandene Dienstzuordnungen. Prüfe die tatsächliche Identität in der Diensteverwaltung. Interaktive Laufwerkszuordnungen stehen Diensten möglicherweise nicht zur Verfügung. Verwende für Netzwerkzugriffe den passenden Adapter oder einen für das Dienstkonto erreichbaren UNC-Pfad. Unter Linux prüfe dauerhafte Mounts, Zugriffe des Dienstkontos sorty und den Erhalt der Engine-Identität unter /var/lib/sorty.

Netzwerk und HTTPS

Nutze intern einen eindeutigen DNS-Namen oder VPN-Zugang und eine vertraute Zertifikatskette. Veröffentliche bei direktem Internetzugang nur den Webserver. Sorty verwendet normalerweise 443 für HTTPS und 80 für Umleitung und ACME. Prüfe für Let’s Encrypt öffentliche A- und AAAA-Einträge, Weiterleitung auf den richtigen Rechner und Erreichbarkeit von Port 80. Kontrolliere bei einem hochgeladenen Zertifikat Hostname, vollständige Kette und Ablaufdatum. Teste Browser und App von einem zweiten Gerät.

Bei einem Proxy auf demselben Rechner terminiert Apache oder nginx HTTPS und leitet an http://127.0.0.1:5000 weiter. Setze in der lokalen Konfiguration Kestrel:Endpoints:Http:Url auf diese Adresse und entferne die übrige öffentliche Bindung des Backends. Leite WebSockets weiter. Der Proxy ersetzt eingehende Weiterleitungsheader durch die tatsächliche Client-IP und das Protokoll HTTPS. Prüfe Anmeldung, interaktive Seiten und Freigabelinks über den öffentlichen Namen.

Führe die Ersteinrichtung lokal durch. Für einen vertrauenswürdigen entfernten Einrichtungsplatz kannst du das konkrete CIDR-Netz vorübergehend unter **FirstSetup__AllowedNetworks__0** freigeben. Prüfe dabei die tatsächliche Client-IP und entferne die Ausnahme nach der Einrichtung. Datenbank, Engine, Koordinatoren und KI-Dienste bleiben im geschützten Netz.

Suche und KI-Dienste

Die Standardsuche nutzt gespeicherte Merkmale. Für semantische Suche müssen Webserver und alle aktiven Engines den Modell-Selbsttest bestehen. Aktiviere die Funktion unter System. Analysiere vorhandene Medien nach, wenn Bildvektoren fehlen, und prüfe die Abdeckung. Diese Suche kann mit lokalen Modellen betrieben werden.

Unter KI-Server richtest du beispielsweise Ollama, vLLM oder llama.cpp mit Adresse, Schnittstelle, Modell und bei Bedarf Zugangsschlüssel ein. Weise den Dienst den vorgesehenen Mandanten zu. Beginne mit geringer Parallelität und teste Latenz sowie Ergebnisse. Beschränke interne Dienste per Firewall auf die angeschlossenen Sorty-Dienste und prüfe bei HTTPS die Vertrauenskette. Externe KI-Dienste können Medien erhalten. Kläre die erlaubten Datenflüsse vor der Aktivierung. Für Videomitschriften wird ein Whisper-kompatibler Dienst benötigt. Ein optionaler Übersetzungsdienst erhält Suchtext. Prüfe die Einstellung für die Weitergabe von Personennamen. Die KI-Erstprüfung kann pro Mandant in ein Zeitfenster mit freien Kapazitäten gelegt werden.

Primären und Ersatzkoordinator betreiben

  1. Installiere den primären Koordinator mit Platz 1 und den Ersatz mit Platz 2. Beide benötigen dieselbe Datenbank und Zugang zu benötigten Engines und KI-Diensten.
  2. Prüfe SortyCoordinator1 und SortyCoordinator2 unter Windows oder sorty-coordinator-1 und sorty-coordinator-2 unter Linux. Standardmäßig werden die lokalen Ports 15081 und 15082 verwendet. Die Dienste fragen die Datenbank ab. Das Setup öffnet dafür keine eingehende Firewallregel.
  3. Setze **SearchCoordinator__RunInWeb=false** am Webserver und starte diesen neu. Führe eine Testsuche aus. Für optionale HTTPS-Weckrufe setzt du **SearchCoordinator__Address** am Koordinator, **SearchCoordinator__AllowedAddresses__0** und bei Bedarf **__1** für die erlaubten Adressen am Webserver und einen gemeinsamen zufälligen **SearchCoordinator__SignalKey** mit mindestens 32 Zeichen. Vertrauenswürdige Zertifikate und eine auf den Webserver begrenzte Firewallfreigabe sind erforderlich.
  4. Halte den primären Dienst im Wartungsfenster nach Annahme einer freigegebenen Testsuche an. Prüfe den Abschluss über den Ersatz und starte den primären Dienst wieder. Für die Rückkehr zum eingebetteten Betrieb beende beide getrennten Dienste, entferne die Einstellung zum Abschalten und starte den Webserver neu.

Speicher, Mandanten und Rollen

Speicher Einrichtung und Prüfung
Lokal Absoluten Pfad auf der Engine angeben. Dauerhaften Mount und Rechte des Dienstkontos prüfen.
SMB/NAS Server, Freigabe, Unterordner, Konto und gegebenenfalls Domäne eintragen. Als Engine-Dienst testen.
WebDAV, luckycloud, HiDrive Direkte HTTPS-Adresse zum Endpunkt sowie Konto, Token oder Clientzertifikat eingeben. Zertifikat und Schreibprofil prüfen.
S3, Azure Blob, Google Cloud Storage Bucket oder Container, Präfix, Region oder Endpunkt und eingeschränkte Dienstidentität festlegen.
SFTP, FTPS, Cloud-Laufwerke Zum Profil passende Zugangsdaten, Schlüssel oder OAuth verwenden. Hostschlüssel oder Zertifikat und Schreibfähigkeit prüfen.

Quellen brauchen Leserechte, Ausgabe- und Sicherungsordner Schreibrechte und bei Bereinigung auch Löschrechte. Quellenlöschung benötigt eigene Löschrechte an der Quelle. Verwende für schreibende rclone-Profile einen exklusiven Sorty-Bereich. Benutzer, Kameras und Synchronisation schreiben in einen getrennten Eingang. Prüfe jeden Adapter aus Sicht der zuständigen Engine und teste mit entbehrlichen Dateien.

Für WebDAV grenzt SORTY_WEBDAV_ALLOWED_ORIGINS die Ursprünge ein. In SORTY_WEBDAV_TLS lässt sich je Ursprung mit TrustedCaPem eine eigene CA-Datei hinterlegen. Halte Zertifikatsprüfung aktiv. S3, Azure Blob und OneDrive prüfen TLS-Zertifikate. Prüfe bei weiteren Profilen die Vertrauenskette in deiner Umgebung. Schütze Sicherungen und Exporte, da sie Zugangsdaten enthalten können.

Für S3 brauchst du Bucket, Region und eine für das Präfix berechtigte Identität. Bei einem S3-kompatiblen Dienst prüfe den HTTPS-Endpunkt. Für Azure Blob hinterlegst du die HTTPS-Adresse des Kontos, den Container und einen berechtigten Dienstzugang. Für Google Cloud Storage hinterlegst du Bucket, bei Bedarf Projekt und Präfix sowie den Dienstkontoschlüssel. Überwache bei OAuth-Zugängen Ablauf und Widerruf und teste die Erneuerung des Zugriffs. Bei WebDAV mit Schreibzugriff prüfe Sperrfunktionen. Bei Nextcloud kontrolliere auch den Benutzerpfad.

Trenne Sammlungen nach Mandanten. Betrachter lesen, Benutzer pflegen Inhalte, Mandanten-Administratoren verwalten ihre Sammlung und Sorty-Administratoren systemweite Einstellungen. Aktiviere Zwei-Faktor-Pflicht für Administratoren, wenn organisatorisch möglich. Prüfe Originale, Freigaben und ZIP-Downloads mit einem normalen Testkonto. Kontrolliere nach Rechteentzug weiterhin vorhandene Freigabelinks.

Hardware und laufender Betrieb

Sorty Media Store CPU und RAM Grafik und nutzbare Daten-SSD
Base 4 Kerne, 16 GB CPU, 2 TB
Home 8 Kerne, 32 GB 16 GB VRAM, 4 TB
Comfort 12–16 Kerne, 64 GB 24 GB VRAM, 4 TB RAID 1
Professional 16 Kerne, 64–128 GB 32–48 GB VRAM, 8 TB RAID 1
Ultra 24–32 Kerne, 256 GB ECC 2 × 96 GB VRAM, 16 TB RAID 10

Die Werte sind Auslegungsbeispiele. Bemesse Hardware nach Medienmenge, Auflösung, Videolänge, Modell, verfügbarem Grafikspeicher und Datendurchsatz. Plane zusätzlichen Platz für Modelle, Vorschau, Arbeitsdateien und Wachstum. Führe Sortys automatische Leistungsanpassung mit repräsentativen Medien aus. Miss CPU-, GPU- und Speicherauslastung. Ändere Jobparallelität und Erkennungsgröße schrittweise. Prüfe bei langsamer KI-Suche Modellgröße, freien VRAM, Warteschlangen und Netzlatenz.

Zeitpläne und Systemmeldungen

Plane Abläufe je Mandant. Prüfe angezeigte Zeitzone und nächste Ausführung, auch vor Zeitumstellungen. Teste Regeländerungen zuerst mit einer kleinen Auswahl. Die Neuablage kann Ausgaben ersetzen und überholte Kopien bereinigen. Die nächtliche Speicherprüfung hilft, fehlende oder verschobene Dateien zu erkennen. Lege Sicherungs- und Verarbeitungszeiten so, dass sie sich bei knappem Durchsatz möglichst wenig überschneiden.

Kontrolliere Engine-Status, blockierte Aufträge, Speicherplatz, Sicherungen, Zertifikate und KI-Dienste. Richte bei Bedarf unter System SMTP mit STARTTLS oder TLS ein und sende eine Testnachricht. Synchronisiere die Dienstrechner zeitlich und lege fest, wer Alarme bearbeitet.

Sicherung, Wiederherstellung und Updates

Sichere Medien, Datenbank, Konfiguration, Zertifikate oder deren Wiederbeschaffungsweg sowie Engine-Identität. Aktiviere unter System die nächtliche Datenbanksicherung. Wähle Engine, Ziel, Uhrzeit und Aufbewahrung. Prüfe Schreibrechte und freien Platz am Ziel. PostgreSQL- und SQL-Server-Sicherungen von Sorty enthalten die Daten. Initialisiere für die Rücksicherung zuerst das dazu passende leere Schema. Halte eine versionierte, getrennt geschützte Kopie außerhalb des Systems und übe die Rücksicherung in getrennte Ziele.

Rücksicherung erproben

Prüfe, ob das komprimierte Archiv lesbar ist. Spiele es mit dem Werkzeug des Datenbankanbieters in eine getrennte Datenbank ein. Prüfe mit der passenden Sorty-Version das Schema sowie Zugriffe, Mandanten und Medienpfade. Protokolliere Dauer und Alter der zuletzt nutzbaren Sicherung. Stelle sicher, dass die Kopie ohne das ursprüngliche Gerät verfügbar ist.

Stoppe bei einer Wiederherstellung die betroffenen Dienste. Stelle einen zusammenpassenden Stand von Datenbank, Medien und Konfiguration wieder her. Prüfe Schema, Rechte und Zertifikate, bevor du Webserver, Engines und Koordinatoren kontrolliert startest. Verifiziere Anmeldung, Rollen, Originalabruf und Verarbeitung. Bei einem blockierten Auftrag prüfe vor Änderungen an den Dateien den letzten Fehler, den Auftrag und den Zustand der Quelle und Ziele. Nutze Wiederholung oder Rücknahme erst nach Klärung der Ursache. Eine Rücknahme kann entfernte Originale wiederherstellen und Ausgaben entfernen.

Aktualisieren oder deinstallieren

Verwende das neue Setup derselben Plattform und Rolle. Plane eine Wartungszeit ein, lass laufende Arbeiten kontrolliert enden und sichere den Bestand. Aktualisiere bei Bedarf das Schema und bringe beteiligte Dienste auf einen kompatiblen Stand. Prüfe Anmeldung, Engines, Testauftrag und Suche. Halte für eine Rückkehr den passenden Programm- und Datenbankstand bereit.

Unter Windows entfernst du Sorty über Einstellungen → Apps. Der Assistent fragt, ob lokale Datenbank und Einstellungen erhalten bleiben. Unter Linux stoppe und deaktiviere die installierten Dienste mit systemctl, entferne deren Service-Definitionen und lade systemd neu. Entferne anschließend die Installationsdateien der betroffenen Rollen und bei Bedarf das lokale Vertrauenszertifikat. Lösche Datenbank, Einstellungen oder Medien erst nach geprüfter Sicherung und einer Entscheidung über ihre Aufbewahrung.

Fehler eingrenzen

Symptom Nächste Prüfung
Webserver startet nicht Dienstprotokoll, Datenbankzugriff, db-check, Ports und Zertifikat.
Anmeldung oder interaktive Seite scheitert am Proxy DNS, TLS-Kette, Protokollheader und WebSocket-Weiterleitung.
Engine online, aber kein Auftrag läuft Mandantenzuordnung, Pause, Fälligkeit, Mount und Dienstrechte.
Speichertest oder Originalabruf scheitert Registrierte Engine-Adresse, Netzwerk, Adapter und Dateirechte am tatsächlichen Speicher.
KI-Suche fehlt oder hängt Modell, Erreichbarkeit, Mandantenzuordnung, Dienststatus und Datenbankzugriff des Koordinators.
Sicherung fehlt Laufzeit, gewählte Engine, Mount, Schreibrechte, freien Speicher und Protokoll prüfen.

Halte für eine Fehlerübergabe Version, Rolle, Plattform, Zeitpunkt, Fehler und letzten erfolgreichen Schritt fest. Entferne Zugangsdaten, Tokens und private Medien aus den Belegen.