Migrera Jellyfin genom att först beskriva dess aktuella beteende, skydda beständigt tillstånd och sedan lägga till tjänster i reversibla, testade steg.
Den här proceduren gäller en fungerande Docker-container som har vuxit ur ett odokumenterat kommando eller en allt-i-ett-layout. Målet är inte maximalt antal containrar, utan en reproducerbar Jellyfin-tjänst med uttryckliga monteringar, nätverk, enheter, hälsosignaler, säkerhetskopieringsomfattning och återställning. Håll medielagringen separerad från applikationstillståndet, behåll den gamla instansen tills acceptanstesterna är godkända och lägg bara till beroenden som hushållet kan hantera.
Definiera vad motståndskraften måste omfatta
Välj vilka fel den nya stacken ska hantera: en krasch i Jellyfin-processen, en felaktig bilduppdatering, förlorad konfigurationslagring, en otillgänglig proxy, en omstart av värden eller en fullständig förlust av värden. Varje scenario kräver en annan kontroll. En omstartspolicy hjälper efter att en process avslutas, men den återställer inte en borttagen volym eller reparerar en otillgänglig medieanslutning.
Fastställ mätbara återställningsmål för konfiguration, visningsstatus och tjänstens tillgänglighet. Bestäm hur mycket driftstopp och dataförlust som kan accepteras, vem som ska få en avisering och vilka delar som kan byggas om. Den här avgränsningen hindrar en liten hemmamigrering från att samla på sig databaser, proxyer, instrumentpaneler och automatisering som inte minskar en identifierad risk.
Inventera den körande containern
Dokumentera den exakta bildreferensen, kommandot, miljövariablerna, publicerade portarna, nätverken, omstartspolicyn, användar- och grupp-ID:n, enhetsmappningarna, DNS-inställningarna, etiketterna, konfigurationsmonteringen, cachemonteringen, mediamonteringarna och hemligheterna. Dokumentera även ägarskap och behörigheter för varje sökväg på värden. En skärmbild av ett containergränssnitt är inte en fullständig distributionsbeskrivning.
Översätt den inventeringen till en Compose-definition utan att ändra beteendet. Metoden flagga för flagga i den här migreringsguiden från Docker run till Compose är värdefull eftersom den behandlar det första delmålet som reproducerbarhet, inte utökad funktionalitet. Lås den aktuella körande bildens digest eller version inför den första övergången.
Separera beständigt tillstånd, cache och media
Mappa Jellyfins konfiguration och databastillstånd till en tydligt namngiven beständig sökväg. Placera förbrukningsbar cache och transkodningssegment på en separat sökväg så att de inte förväxlas med kritiska säkerhetskopieringsdata. Montera ägda medier separat och skrivskyddat där arbetsflödet tillåter det; ett motståndskraftigt applikationslager bör inte sudda ut skyddsgränsen för ett stort mediebibliotek.
Stoppa eller pauslägg Jellyfin före den första konsekventa tillståndskopian, såvida inte säkerhetskopieringsmetoden garanterar applikationskonsistens. Dokumentera behörigheter, kontrollsummor eller filantal, säkerhetskopieringstid och återställningsplats. Anta aldrig att containeravbildningen innehåller användardata: distributionsdefinitionen, hemligheterna, det beständiga tillståndet och medierreferenserna är separata återställningsindata.
Bevisa återställningen innan du ändrar nätverket
Skapa ett tillfälligt återställningsmål, kopiera det skyddade applikationstillståndet dit och starta den låsta Jellyfin-tjänsten på en alternativ port med medier monterade skrivskyddat. Kontrollera användare, bibliotek, visningshistorik, metadata, insticksprogram och representativ uppspelning. Förstör den tillfälliga instansen och upprepa från den skriftliga proceduren om något steg var beroende av minnet.
En praktisk Compose-säkerhetskopiering måste bevara distributionsfilen, miljöindata, volymer och eventuell applikationskonsistent databasexport. Den här guiden för säkerhetskopiering och uppgradering av Compose förklarar varför det inte är en fullständig återställningsväg att bara kopiera en avbildning eller levande databasfiler.
Byt till den deklarativa Jellyfin-tjänsten
Välj ett underhållsfönster, stoppa den gamla containern, ta en slutlig konsekvent säkerhetskopia av tillståndet och förhindra att den gamla instansen startar om automatiskt. Starta den motsvarande Compose-tjänsten med samma beständiga sökvägar och enhetsåtkomst. Behåll den offentliga routningen oförändrad först när lokala hälso- och uppspelningskontroller har lyckats.
Validera containerhälsa, loggar, biblioteksåtkomst, åtkomst till hårdvaruenheter, direktuppspelning, en representativ transkodning, undertextshantering och en omstart. Om tjänsten inte kan se en enhet eller montering ska du stoppa och återställa den gamla containern i stället för att redigera flera lager under tidspress. Återställningen består av den tidigare låsta avbildningen samt tillståndet före övergången och de ursprungliga körparametrarna.
Lägg till närliggande tjänster en gräns i taget
Introducera en omvänd proxy först när fjärråtkomst kräver en separat hanterad rutt. Lägg till övervakning när det finns en definierad hälsosignal och någon kommer att agera på den. Lägg till en aviseringskanal när omstartsloopar, lagringsförlust eller misslyckade säkerhetskopieringar måste upptäckas. Varje tjänst behöver en ägare, ett beslut om beständigt tillstånd, ett nätverksomfång, en uppdateringsmetod och en beskrivning av felpåverkan.
Den arkitektoniska anledningen till dessa gränser behandlas separat i ZimaSpaces förklaring av varför Jellyfin-distributioner använder tjänstestackar. Tillämpa modellen försiktigt under migreringen: gruppera komponenter som måste återställas tillsammans och undvik att göra uppspelningen beroende av valfria instrumentpaneler eller automatisering.
Gör hälsa, uppdateringar och säkerhetskopieringar observerbara
Definiera hälsa utifrån användarvägen, inte bara utifrån att en process körs. Kontrollera att Jellyfin svarar lokalt, att mediamonteringen finns, att den offentliga routningen når avsedd tjänst när den är aktiverad och att en känd fil kan läsas. Skicka misslyckade kontroller till en aviseringskanal som operatören redan använder, med tillräckligt sammanhang för att skilja ett applikationsfel från lagrings- eller nätverksförlust.
Versionshantera Compose-definitionen, håll hemligheter utanför kodarkivet och granska bildändringar före distribution. Automatisera säkerhetskopieringar först när en manuell återställning fungerar. Arbetsflödet i den här guiden för hälsokontroller och övervakning av Jellyfin visar hur deklarationer, kontroller, aviseringar och säkerhetskopieringar hänger ihop; behåll en godkännande- och återställningspunkt för uppdateringar som kan ändra lagrat tillstånd.
Genomför felövningar innan den gamla vägen avvecklas
Starta om värden, stoppa Jellyfin oväntat, gör proxyn otillgänglig, koppla från en testmediesökväg och återställ applikationstillståndet till en ren, tillfällig plats. Bekräfta förväntad avisering, återställningsordning och användarsynligt beteende för varje övning. Simulera inte destruktiv lagringsförlust mot den enda kopian av medierna.
Dokumentera återställningstid och eventuella manuella kommandon. En container som startar om snabbt men återkommer med ett tomt bibliotek har inte klarat tjänstetestet. En säkerhetskopia som finns men inte kan återställas inom den avsedda tidsramen har inte klarat återställningstestet. Åtgärda dessa gränser innan du lägger till fler tjänster.
Avsluta migreringen med ett stabilt driftavtal
Avveckla den ursprungliga containern först när den nya Jellyfin-tjänsten har klarat normal hushållsanvändning, en planerad uppdatering, en omstart av värden och en övning av ren återställning. Arkivera de gamla parametrarna, den slutliga säkerhetskopian före övergången, den aktuella Compose-definitionen, metoden för återställning av hemligheter, monteringskartan och återställningsstegen enligt den valda lagringspolicyn.
Sluta bygga ut när stacken är reproducerbar, övervakad, återställningsbar och begriplig för sin operatör. Lägg bara till en nod eller ett beroende när ett uppmätt krav på kapacitet, tillit eller feldomän kräver det. Motståndskraft kommer från känt tillstånd och övad återställning, inte från antalet containrar i diagrammet.
NAS- och serverinstallation
Mer att läsa

Hur AI-liknande analys och automatisering förändrar Jellyfins behov av lagring och beräkningskapacitet
Automatisering och närliggande AI-analys tillför skanningar, härledda data, CPU-/GPU-bearbetning, cache, arbetsutrymme och bakgrunds schemaläggning utöver vanlig uppspelning i Jellyfin.

Så integrerar du Jellyfin i ett litet lägenhets- eller hyresnätverk
Bygg ett hyresvänligt Jellyfin-nätverk med stabil lokal adressering, minimalt med kabeldragning, tyst hårdvara, fjärråtkomst anpassad för CGNAT och ändringar som enkelt kan återställas.

Hur många användare och bakgrundsjobb bör en Jellyfin-värd stödja?
Behandla Jellyfin-användare och bakgrundsjobb som en gemensam arbetsbelastningsbudget; kapaciteten är slut när uppspelningslatens, köer eller resursbelastning återkommande når gränsen.

