Uruchomiony proces Jellyfin nie jest dowodem na gotowość usługi. Listener sieciowy może działać, gdy brakuje zamontowanego nośnika, reverse proxy nie może połączyć się z kontenerem, urządzenie sprzętowe jest niedostępne, DNS nie działa albo wymagana ścieżka jest tylko do odczytu.
Odzyskaj działanie, znajdując pierwszą zależność, która zawodzi przed wystąpieniem objawu widocznego dla użytkownika, zamiast wielokrotnie uruchamiać Jellyfin ponownie. Zabezpiecz bieżący stan, sklasyfikuj każdą zależność jako wymaganą lub opcjonalną, przetestuj ją z rzeczywistej granicy środowiska uruchomieniowego Jellyfin, a następnie przywracaj stos od najniższej uszkodzonej warstwy w górę.
Określ, czego Jellyfin potrzebuje, aby uznać go za gotowy
Wypisz zależności wymagane dla niedziałającej czynności: trwałe ścieżki konfiguracji i bazy danych, zamontowane nośniki multimediów, pamięć podręczna i miejsce na transkodowanie, lokalny DNS, reverse proxy lub tunel, urządzenie GPU oraz wszelkie wtyczki lub usługi zewnętrzne rzeczywiście wymagane przez dany przepływ pracy. Nie klasyfikuj wszystkich opcjonalnych dostawców metadanych tak samo jak bazy danych aplikacji.
Kolejność uruchamiania kontenerów jest często mylona z gotowością. Praktyczny wzorzec zależności sterowanej stanem zdrowia czeka, aż zależność stanie się użyteczna, a nie tylko uruchomiona. Stosuj to samo rozróżnienie nawet wtedy, gdy Jellyfin działa natywnie: stan procesu i gotowość usługi odpowiadają na różne pytania.
Ustal prosty warunek zaliczenia dla każdej twardej zależności. Montowanie jest poprawne, gdy oczekiwany znany plik jest widoczny pod oczekiwaną ścieżką; ścieżka proxy jest poprawna, gdy można uzyskać prawidłową odpowiedź upstreamu; GPU działa, gdy Jellyfin może je otworzyć podczas rzeczywistego transkodowania; stan trwały jest poprawny, gdy użytkownicy i biblioteki wczytują się bez inicjalizacji.
Zarejestruj pierwszą awarię, zanim ukryją ją zasady ponownego uruchamiania
Zapisz czas uruchomienia Jellyfin, stan zdrowia, historię kończenia procesu, logi hosta i kontenera, stan montowań, błędy systemu plików, rozwiązywanie nazw DNS oraz błędy proxy. Jeśli zasada ponownego uruchamiania tworzy pętlę, tymczasowo ją zatrzymaj, aby zarejestrować jedną czystą próbę startu.
Awaria, która pojawia się jako pierwsza, jest cenniejsza niż najgłośniejszy późniejszy błąd. Brak montowania może powodować błędy bibliotek, ścieżka konfiguracji tylko do odczytu może powodować awarie bazy danych, a awaria DNS może jednocześnie wywołać skargi kilku wtyczek. Ponowne uruchamianie usługi nadrzędnej może zwielokrotnić te komunikaty wtórne bez naprawienia pierwotnej granicy.
Istniejący proces identyfikacji pierwszej niesprawnej zależności zapewnia tę samą dyscyplinę kolejności, gdy wielokrotne uruchomienia utrudniają dostrzeżenie zdarzenia źródłowego.
Testuj każdą wymaganą zależność z kontekstu uruchomieniowego Jellyfin
Nie potwierdzaj zależności wyłącznie z powłoki hosta. Jeśli Jellyfin działa w kontenerze, sprawdź montowanie, nazwę DNS, port, uprawnienia i urządzenie z tego kontenera albo z równoważnego kontenera diagnostycznego podłączonego do tej samej sieci i granicy tożsamości.
Przydatny test gotowości usługi sprawdza operację, której rzeczywiście wymagają klienci, zamiast powierzchownego sprawdzenia procesu. W przypadku Jellyfin może to oznaczać odczyt ścieżki konfiguracji, wyświetlenie znanego pliku multimedialnego, otwarcie oczekiwanego listenera i wykonanie jednego lokalnego żądania API.
Jeśli zależność jest opcjonalna, spraw, aby jej awaria powodowała kontrolowane ograniczenie funkcji, a nie blokowała całego serwera. Jeśli jest twarda, najpierw ją przywróć i niezależnie zweryfikuj. Nie rozszerzaj uprawnień ani nie przełączaj się na sieć hosta tylko dlatego, że jedna zależność jest nieosiągalna; ustal, czy problem dotyczy ścieżki, uprawnień, rozpoznawania nazw, portu czy gotowości.
Przywracaj zależności w kolejności, w jakiej Jellyfin z nich korzysta
Najpierw przywróć pamięć masową i stan trwały, zanim aplikacja zacznie w nich zapisywać, następnie lokalną sieć usług, potem Jellyfin, dalej reverse proxy lub zdalny dostęp, a na końcu opcjonalne integracje zewnętrzne. Dokładna kolejność zależy od stosu, ale zasada mówi, że konsument nie powinien inicjalizować się na pustym lub niewłaściwym zamienniku brakującej zależności. Wzorce Compose łączące testy stanu zdrowia z zachowaniem po ponownym uruchomieniu pokazują, dlaczego automatyczny restart powinien następować po obserwowalnej gotowości, a nie ją zastępować.
Jeśli montowanie sieciowe pojawia się z opóźnieniem, zatrzymaj Jellyfin, zanim przeskanuje pusty katalog zastępczy. Jeśli przywrócona ścieżka konfiguracji wygląda na pustą, zatrzymaj usługę, zanim kreator konfiguracji utworzy nowy stan. Jeśli brakuje akceleracji sprzętowej, ogranicz testy odtwarzania do kontrolowanego pliku, zamiast pozwalać wielu klientom uruchamiać nieoczekiwane transkodowanie programowe.
Gdy tylko jedna usługa posiada uszkodzony stan, granica przywracania pojedynczej usługi może zachować sprawne współdzielone zależności zamiast zastępować cały stos z powodu jednej awarii.
Potwierdź odzyskanie działania za pomocą pierwotnej czynności użytkownika i kontrolowanego restartu jednej zależności
Gdy stos działa poprawnie, powtórz dokładnie czynność, która wcześniej zawiodła: logowanie, przeglądanie biblioteki, odtwarzanie bezpośrednie, wymuszone transkodowanie, zdalny dostęp przez proxy lub skanowanie. Następnie celowo uruchom ponownie wcześniej uszkodzoną zależność i obserwuj, czy Jellyfin ponawia próbę, działa w ograniczonym trybie czy staje się niedostępny w oczekiwany sposób.
Usługa jest przywrócona dopiero wtedy, gdy twarda zależność wraca do znanego stanu, Jellyfin widzi właściwe ścieżki trwałe, nie utworzono pustego stanu zastępczego, a normalne zachowanie użytkownika przetrwa kolejny cykl restartu. Zielony status kontenera bez tych kontroli nadal oznacza tylko wynik na poziomie procesu.
Udokumentuj zależność, jej warunek zaliczenia, kolejność uruchamiania, zachowanie podczas przywracania i warunek zatrzymania. Dzięki temu następny incydent przestanie być szerokim problemem „Jellyfin działa, ale jest zepsuty”, a stanie się problemem jednej przypisanej zależności z powtarzalnym testem gotowości.
Wsparcie i wskazówki
Więcej do przeczytania

Czy w Jellyfin używać jednego wspólnego konta, czy osobnych kont domowników?
Wybierz konta domowe Jellyfin zgodnie z potrzebnymi granicami tożsamości, dostępu, kontroli rodzicielskiej i odzyskiwania dostępu.

Dlaczego użycie pamięci przez Jellyfin pozostaje wysokie po zakończeniu pracy?
Oddziel wzrost zużycia pamięci przez proces Jellyfin od pamięci podręcznej Linuksa i zbadaj problem tylko wtedy, gdy zużycie pamięci stale rośnie lub powoduje rzeczywistą...

Oznaki, że układ pamięci masowej Jellyfin zaczyna stwarzać ryzyko konieczności odzyskiwania danych
Przeprowadź audyt ról pamięci masowej Jellyfin, oddziel bieżący stan od kopii zapasowych i danych możliwych do odbudowania, a następnie potwierdź układ, wykonując przywracanie.

