Community-Lösung

Eine benutzerdefinierte Docker-App auf ZimaOS installieren: Beispiel Subsyncarr

A June 2026 beginner thread about installing Subsyncarr outside the ZimaOS App Store. A community reply explained how Docker image, volumes, environment variables, and SCAN_PATHS map into the manual installer; current Subsyncarr releases now also expose a Web UI on port 3000.

Das ZimaOS-Formular „Benutzerdefinierte App installieren“ ist viel einfacher zu verwenden, sobald man erkennt, dass es gewöhnliche Docker-Compose-Konzepte in Felder übersetzt. Der Quellthread vom Juni 2026 ist ein gutes Beispiel für Einsteiger, weil der Benutzer Jellyfin bereits eingerichtet hatte, Subsyncarr zur Untertitelverarbeitung hinzufügen wollte und befürchtete, den bestehenden Medienserver zu beeinträchtigen.

Die Antwort der Community lautete nicht einfach „Füge die Compose-Datei ein“. Sie erklärte, welche Werte in Docker-Image, Tag, Netzwerk, Volumes, Umgebungsvariablen, Geräte und Containerbefehl gehören – und vor allem, warum Umgebungsvariablen wie SCAN_PATHS Pfade innerhalb des Containers verwenden müssen.

Das ZimaOS-Formular als Docker-Konfiguration verstehen

ZimaOS-Formular für benutzerdefinierte Anwendungen mit Docker-Image, Tag, Titel, Web-UI, Netzwerk, Ports, Volumes, Umgebungsvariablen, Geräten und Befehl
Das manuelle Installationsprogramm stellt die standardmäßigen Container-Einstellungen als einzelne Felder statt als unverändertes Compose-YAML dar.

Im Quellbeispiel ordnete die Community die grundlegenden Compose-Felder ungefähr wie folgt zu:

  • Docker-Image → mrorbitman/subsyncarr
  • Tag → der gewünschte Release-Tag, historisch latest
  • Titel → ein benutzerfreundlicher App-Name wie Subsyncarr
  • Netzwerk → bridge sofern die aktuellen Anweisungen der App nichts anderes erfordern

Das Upstream-Compose-Beispiel als maßgebliche Quelle verwenden

Subsyncarr-Docker-Compose-Beispiel mit Image, Medien-Volumes, Cron-Zeitplan, Scanpfaden, ausgeschlossenen Verzeichnissen und Synchronisierungs-Engines
Die richtige Aufgabe besteht darin, jede Compose-Einstellung in ZimaOS zu übertragen, ohne zu verändern, was der Container intern erwartet.

Subsyncarr wurde kontinuierlich weiterentwickelt. Vergleiche daher vor der Installation jeden alten Community-Screenshot mit den aktuellen Subsyncarr-Container-Einstellungen.

Volumes sind der wichtigste Teil

Ein Docker-Volume hat zwei Seiten:

  • Hostpfad: der reale ZimaOS-Ordner, der Filme, Serien, Anime oder Anwendungsdaten enthält.
  • Containerpfad: der Pfad, den Subsyncarr innerhalb seines eigenen Dateisystems sieht.

Eine Zuordnung könnte konzeptionell so aussehen:

Host: /DATA/Media/Movies
Container: /movies

Der genaue Hostordner hängt davon ab, wo sich Ihre Jellyfin-Bibliothek tatsächlich befindet. Kopieren Sie nicht einfach den Pfad eines anderen Benutzers. Überprüfen Sie die Dateien-App von ZimaOS oder sehen Sie sich die vorhandenen Volume-Zuordnungen von Jellyfin an, damit beide Container auf dieselben Medien verweisen.

Die aktuelle Erklärung dazu, wie reale ZimaOS-Speicherordner zu Containerpfaden werden, ist hilfreich, bevor Sie eine benutzerdefinierte Medienanwendung hinzufügen.

SCAN_PATHS muss der Containerseite entsprechen

Das war der zentrale Lehrpunkt der ursprünglichen Antwort. Wenn der Hostordner eingebunden ist unter /movies innerhalb des Containers; anschließend sollte Subsyncarr /movies.

Richtig:

SCAN_PATHS=/movies,/tv,/anime

Falsch, wenn es sich dabei nur um Hostpfade handelt:

SCAN_PATHS=/DATA/Media/Movies

Der Container kann beliebige ZimaOS-Hostpfade nicht sehen, sofern diese Ordner nicht ausdrücklich in den Container eingebunden wurden.

Umgebungsvariablen einzeln übersetzen

Das Compose-Beispiel aus der Quelle enthielt Variablen wie Zeitzone, Cron-Zeitplan, Scanpfade, ausgeschlossene Verzeichnisse und Synchronisierungs-Engines. Fügen Sie jede einzelne im Abschnitt „Umgebungsvariablen“ mit derselben Werte-Semantik ein, die von der Anwendung des Originals erwartet wird.

„Verbessern“ Sie beim Übersetzen weder einen Cron-Ausdruck noch benennen Sie einen Containerpfad um. Geben Sie zuerst die Konfiguration des Originals getreu wieder und nehmen Sie Änderungen erst vor, nachdem die App nachweislich funktioniert.

Aktuelle Subsyncarr-Versionen verfügen über eine Web-UI

Die Community-Antwort von 2026 empfahl, Web-UI und Ports leer zu lassen, sofern die Dokumentation nicht angab, dass die Anwendung einen Port bereitstellt. Für eine unbekannte Anwendung war dieser Rat korrekt, aber aktuelle Subsyncarr-Versionen bieten jetzt eine Web-UI auf Port 3000 und persistente Anwendungsdaten.

Wenn Sie das Dashboard verwenden möchten, veröffentlichen Sie einen Host-Port auf den Container-Port 3000 und tragen Sie diese Host-Adresse in das Feld „ZimaOS-Weboberfläche“ ein. Wenn der Port bereits verwendet wird, ändern Sie nur die Host-Seite, sofern das Upstream-Projekt nicht angibt, dass der interne Dienstport selbst konfigurierbar ist.

Die eigenen Anwendungsdaten von Subsyncarr persistent speichern

Medienordner sind nicht die einzigen wichtigen Volumes. Die aktuelle Version von Subsyncarr verfügt außerdem über eigene persistente Daten. Speichern Sie diesen Anwendungsstatus in einem Host-Ordner, der Containeraktualisierungen übersteht, und nehmen Sie ihn in Ihre Backups auf.

PUID und PGID sind wichtig, wenn Untertitel geschrieben werden müssen

Ein Untertitelverarbeiter benötigt mehr als nur Lesezugriff. Er muss möglicherweise Untertiteldateien neben den Medien erstellen, umbenennen oder ändern. Die aktuelle Version von Subsyncarr unterstützt PUID und PGID. Stimmen Sie daher den Containerbenutzer auf die Besitz- oder Gruppenberechtigungen der Medienordner ab, wenn Scans funktionieren, das Schreiben von Untertiteln jedoch fehlschlägt.

Lassen Sie „Geräte“ und „Container-Befehl“ leer, sofern das Upstream-Projekt sie nicht voraussetzt

Die Antwort aus der Community hat richtigerweise empfohlen, nicht jedes vorhandene Feld auszufüllen. Eine Gerätezuordnung ist für Hardware wie GPUs oder serielle Geräte vorgesehen. Der Container-Befehl überschreibt den standardmäßigen Startbefehl des Images. Keines von beidem sollte ohne konkrete Anforderung des Upstream-Projekts hinzugefügt werden.

Warum dies Jellyfin nicht beeinträchtigen sollte

Das Hinzufügen eines separaten Containers verändert Jellyfin nicht, nur weil beide Anwendungen denselben Medienordner lesen. Das größere Risiko sind die Berechtigungen: Wenn Subsyncarr Dateien umbenennen oder schreiben darf, stellen Sie sicher, dass seine Konfiguration nur die vorgesehenen Medien- und Untertitelpfade verändert.

Beginnen Sie mit einer kleinen Testbibliothek, bevor Sie die Anwendung auf die gesamte Sammlung ansetzen.

FAQ zur benutzerdefinierten ZimaOS-App

Verwendet SCAN_PATHS den Hostpfad oder den Containerpfad?

Verwenden Sie die Containerpfade, die durch Ihre Volume-Zuordnungen erstellt wurden.

Soll ich jedes Feld im ZimaOS-Formular für benutzerdefinierte Apps ausfüllen?

Nein. Konfigurieren Sie nur Ports, Geräte, Befehle und andere Felder, die die Anwendung tatsächlich benötigt.

Verfügt die aktuelle Version von Subsyncarr über eine Weboberfläche?

Ja. Aktuelle Versionen stellen ein Dashboard auf Port 3000 bereit.

Kann Subsyncarr dieselben Medienordner wie Jellyfin verwenden?

Ja, sofern beide Container dieselben tatsächlichen Host-Ordner einbinden und ihre Berechtigungen passend sind.