Gemenskapslösning

Installera en anpassad Docker-app på ZimaOS: exemplet 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.

Formuläret ”Installera en anpassad app” i ZimaOS är mycket enklare att använda när du inser att det översätter vanliga Docker Compose-begrepp till fält. Källtråden från juni 2026 är ett bra nybörjarexempel eftersom användaren redan hade Jellyfin igång, ville lägga till Subsyncarr för undertextbearbetning och var orolig för att den befintliga mediaservern skulle påverkas.

Svaret från communityn sa inte bara ”klistra in Compose-filen”. Det förklarade vilka värden som hörde hemma i Docker-avbildning, Tagg, Nätverk, Volymer, Miljövariabler, Enheter och Containerkommando och – viktigast av allt – varför miljövärden som SCAN_PATHS måste använda sökvägar som är synliga inuti containern.

Läs ZimaOS-formuläret som Docker-konfiguration

ZimaOS-formulär för anpassade applikationer som visar Docker-avbildning, tagg, titel, webbgränssnitt, nätverk, portar, volymer, miljövariabler, enheter och kommando
Det manuella installationsprogrammet visar standardinställningar för containrar som enskilda fält i stället för som rå YAML för Compose.

I källan för exemplet mappade communityn de grundläggande Compose-fälten ungefär så här:

  • Docker-avbildning → mrorbitman/subsyncarr
  • Tagg → önskad utgåvetagg, historiskt latest
  • Titel → ett lättigenkännligt appnamn, till exempel Subsyncarr
  • Nätverk → bridge om inte appens aktuella instruktioner kräver något annat

Använd Compose-exemplet från uppströmsprojektet som källa

Exempel på Subsyncarr Docker Compose som visar avbildning, mediavolymer, cron-schema, sökvägar, undantagna kataloger och synkroniseringsmotorer
Den korrekta uppgiften är att översätta varje Compose-inställning till ZimaOS utan att ändra vad containern förväntar sig internt.

Subsyncarr har fortsatt att utvecklas, så jämför alla äldre skärmbilder från communityn med de aktuella inställningarna för Subsyncarr-containern före installationen.

Volymer är den viktigaste delen

En Docker-volym har två sidor:

  • Värdsökväg: den riktiga ZimaOS-mappen som innehåller filmer, TV, anime eller programdata.
  • Containersökväg: sökvägen som Subsyncarr ser i sitt eget filsystem.

En mappning kan i princip se ut så här:

Värd: /DATA/Media/Movies
Container: /movies

Den exakta värdmappen beror på var ditt Jellyfin-bibliotek faktiskt finns. Kopiera inte en annan användares sökväg. Kontrollera ZimaOS Filer-appen eller granska Jellyfins befintliga volymmappningar så att båda containrarna pekar på samma media.

Den aktuella förklaringen av hur faktiska ZimaOS-lagringsmappar blir containersökvägar är användbar innan du lägger till en anpassad medieapp.

SCAN_PATHS måste matcha containerns sida

Detta var den viktigaste lärdomen i det ursprungliga svaret. Om värdmappen mappas till /movies inuti containern; därefter bör Subsyncarr skanna /movies.

Korrekt:

SCAN_PATHS=/movies,/tv,/anime

Felaktigt när dessa endast är sökvägar på värddatorn:

SCAN_PATHS=/DATA/Media/Movies

Containern kan inte se godtyckliga ZimaOS-sökvägar på värddatorn om mapparna inte uttryckligen har mappats till den.

Översätt miljövariabler en i taget

Compose-exemplet innehöll variabler som tidszon, cron-schema, sökvägar för skanning, undantagna kataloger och synkroniseringsmotorer. Lägg till var och en i avsnittet Miljövariabler med samma värdesemantik som den ursprungliga appen förväntar sig.

Förbättra inte ett cron-uttryck eller byt namn på en containersökväg när du översätter. Återge först den ursprungliga konfigurationen korrekt och gör sedan ändringar efter att du har verifierat att appen fungerar.

Aktuella Subsyncarr-versioner har ett Web UI

Det communitysvaret från 2026 rekommenderade att lämna Web UI och portar tomma om inte dokumentationen angav att programmet exponerade en. Det rådet var korrekt för ett okänt program, men aktuella Subsyncarr-versioner har nu ett Web UI på port 3000 och beständiga programdata.

Om du vill använda instrumentpanelen publicerar du en värdport till containerport 3000 och anger den värdadressen i fältet Web UI i ZimaOS. Om porten redan används ändrar du endast värdsidan, såvida inte uppströmsprojektet anger att själva den interna tjänsteporten kan konfigureras.

Spara Subsyncarrs egna programdata beständigt

Mediemapparna är inte de enda viktiga volymerna. Aktuella versioner av Subsyncarr har även egna beständiga data. Spara programmets tillstånd i en värdmapp som överlever containeruppdateringar och inkludera den i säkerhetskopiorna.

PUID och PGID är viktiga när undertexter måste skrivas

En undertextbearbetare behöver mer än läsåtkomst. Den kan behöva skapa, byta namn på eller ändra undertextfiler bredvid mediefilerna. Aktuella versioner av Subsyncarr stöder PUID och PGID, så anpassa containeranvändaren efter ägarskapet eller gruppbehörigheterna för mediemapparna om genomsökningar fungerar men skrivning av undertexter misslyckas.

Lämna Devices och Container Command tomma om inte uppströmsprojektet kräver dem

Gemenskapens svar rekommenderade korrekt att inte fylla i alla fält bara för att de finns. En enhetsmappning används för maskinvara som GPU:er eller serieenheter. Container Command åsidosätter avbildningens standardkommando för uppstart. Inget av detta bör läggas till utan ett specifikt krav från uppströmsprojektet.

Varför detta inte bör orsaka problem för Jellyfin

Att lägga till en separat container ändrar inte Jellyfin bara för att båda programmen läser samma mediamapp. Den större risken gäller behörigheter: om Subsyncarr får byta namn på eller skriva till filer, se till att konfigurationen endast påverkar de medie- och undertextsökvägar du avsett.

Börja med ett litet testbibliotek innan du pekar programmet mot hela samlingen.

Vanliga frågor om anpassade appar i ZimaOS

Använder SCAN_PATHS värdsökvägen eller containersökvägen?

Använd de containersökvägar som skapats genom dina volymmappningar.

Ska jag fylla i alla fält i formuläret för anpassade appar i ZimaOS?

Nej. Konfigurera endast portar, enheter, kommandon och andra fält som programmet faktiskt behöver.

Har den aktuella versionen av Subsyncarr ett webbgränssnitt?

Ja. Aktuella versioner visar en instrumentpanel på port 3000.

Kan Subsyncarr använda samma mediamappar som Jellyfin?

Ja, så länge båda containrarna mappar samma faktiska värdmappar och deras behörigheter är korrekta.