Rozwiązanie społecznościowe

Aplikacje ZimaOS nie widzą pamięci masowej: dodaj woluminy Dockera dla Jellyfin, Emby i Plex

A June-November 2024 ZimaCube thread where Jellyfin, Emby, and Plex could only browse paths exposed inside their Docker containers. IceWhale staff instructed users to edit app volume mappings; multiple users later confirmed adding the storage/media volume fixed the problem. ZimaOS subsequently improved the UI and added managed app-data migration.

Gdy Jellyfin, Emby lub Plex widzi tylko ZimaOS-HD, a nie dysk HDD, NVMe ani macierz RAID, na której faktycznie znajdują się multimedia, problem zwykle nie polega na tym, że Docker „nie ma uprawnień do NAS-a”. Kontener może przeglądać tylko te foldery hosta, które ZimaOS mapuje do niego jako woluminy.

To było kluczowe rozwiązanie w wątku źródłowym z czerwca 2024 roku. ETWang1991 poinformował użytkowników, aby otworzyli ustawienia aplikacji i dodali nową pamięć jako wolumin. Autor oryginalnego posta odpowiedział, że wtedy wszystko działało „jak należy”, a inny użytkownik Jellyfin później doszedł do tego samego wniosku po obejrzeniu zrzutów ekranu.

Aplikacja Docker nie widzi całego systemu plików hosta ZimaOS

Izolacja kontenera jest zamierzona. Jellyfin może widzieć /Media wewnątrz swojego kontenera tylko wtedy, gdy ta ścieżka została zmapowana na rzeczywisty folder hosta zawierający multimedia.

Dysk widoczny w Plikach ZimaOS nie staje się automatycznie widoczny wewnątrz kontenera każdej aplikacji ze Sklepu aplikacji.

Otwórz ustawienia aplikacji i edytuj woluminy

Menu aplikacji ZimaOS z wyróżnaczoną opcją Ustawienia służącą do edycji aplikacji Docker
Oficjalna odpowiedź kierowała użytkowników do ustawień poszczególnych aplikacji, ponieważ mapowania woluminów konfiguruje się osobno dla każdej aplikacji.

Wybierz rzeczywisty folder Media na hoście

Selektor pamięci ZimaOS pokazujący foldery Seriale, Muzyka i Filmy w katalogu Media
Selektor pamięci pokazuje folder po stronie hosta, który zostanie zamontowany w kontenerze.

Wybierz katalog w rzeczywistej przestrzeni dyskowej, który zawiera bibliotekę, zamiast wpisywać odgadniętą ścieżkę najwyższego poziomu, taką jak /Main-Storage.

Ścieżki hosta i kontenera pełnią różne funkcje

Ustawienia Jellyfin pokazujące ścieżki pamięci ZimaOS po stronie hosta zmapowane na ścieżki woluminów po stronie kontenera
Ścieżka hosta wskazuje rzeczywisty folder ZimaOS, a ścieżka kontenera określa lokalizację, którą Jellyfin będzie przeglądać w swoim odizolowanym systemie plików.

Ścieżka po stronie kontenera powinna być prosta i stabilna, na przykład /media lub /Media. W Jellyfin dodaj biblioteki, używając tej ścieżki kontenera, a nie surowej ścieżki hosta.

Wielu użytkowników potwierdziło, że brakującym krokiem było mapowanie woluminów

Autor oryginalnego posta napisał, że zmiana zadziałała. Inny użytkownik z pamięcią główną RAID 5 początkowo widział tylko dysk systemowy, a następnie odpowiedział, że zrzuty ekranu podsunęły mu pomysł: „Musiałem dodać woluminy do Jellyfin.”

To potwierdzone w źródłach rozwiązanie, a nie spekulacyjny sposób obejścia uprawnień.

Dyski dodawane pojedynczo były problemem interfejsu w 2024 roku

Niektórzy uczestnicy mieli trudności z wybraniem pojedynczo włączonych dysków lub pamięci RAID w starym selektorze. Pracownicy IceWhale odpowiedzieli, że pojedyncze dyski można było włączać i używać, a później poinformowali, że interfejs został ulepszony.

Te ograniczenia z 2024 roku dotyczyły wczesnych wersji ZimaOS. Bieżące ustawienia pamięci masowej i aplikacji w ZimaOS znacznie wyraźniej pokazują zarządzaną pamięć masową.

Bieżący ZimaOS wyraźnie dokumentuje ścieżki pamięci masowej aplikacji

Aktualna dokumentacja IceWhale wyjaśnia, że kontenery ze Sklepu aplikacji przechowują trwałe dane w rzeczywistych folderach hosta, a mapowania woluminów każdej aplikacji można sprawdzać i zmieniać w jej ustawieniach.

Podczas mapowania Jellyfin, Emby, Plex lub innej aplikacji korzystaj z bieżącego modelu ścieżek aplikacji Docker w ZimaOS.

Lokalizacje AppData i multimediów są oddzielne

Pliki konfiguracji i bazy danych aplikacji mogą znajdować się w skonfigurowanej lokalizacji App Data, podczas gdy duże pliki multimedialne są przechowywane w innej puli RAID lub HDD. Nie wskazuj folderu z filmami jako woluminu konfiguracji aplikacji ani nie zakładaj, że przeniesienie AppData przeniesie całą bibliotekę multimediów.

Bieżący ZimaOS może przenosić zarządzane dane aplikacji

Bieżąca migracja danych może przenosić obrazy Dockera i dane aplikacji Dockera do innej przestrzeni pamięci masowej. Rozwiązuje to inny problem niż dodanie woluminu multimediów: pierwsza opcja określa, gdzie sama aplikacja przechowuje trwały stan, a druga zapewnia kontenerowi dostęp do multimediów użytkownika.

Zobacz bieżący zarządzany proces migracji danych aplikacji.

Wybierz montowania multimediów tylko do odczytu, gdy aplikacja nie musi modyfikować plików

Serwer multimediów zwykle musi odczytywać filmy i muzykę, ale niekoniecznie potrzebuje uprawnień do usuwania lub porządkowania biblioteki źródłowej. Jeśli obecny pakiet aplikacji na to pozwala, zamapowanie multimediów w trybie tylko do odczytu ogranicza szkody, jakie może wyrządzić przejęty lub nieprawidłowo skonfigurowany kontener.

Aplikacje, które celowo zmieniają nazwy, przenoszą lub importują pliki — na przykład niektóre stosy do pobierania lub zarządzania zdjęciami — wymagają innego modelu uprawnień do zapisu.

Mapowanie woluminu i uprawnienia systemu plików to odrębne kwestie

Dodanie właściwego folderu hosta jest pierwszym wymaganiem. Proces kontenera musi mieć również wystarczające uprawnienia systemu plików, aby odczytywać ten folder lub do niego zapisywać. Jeśli zamapowany katalog jest widoczny, ale otwiera się jako pusty lub zwraca błędy uprawnień, przed użyciem szerokich uprawnień ustal identyfikator UID/GID kontenera i właściciela po stronie hosta. chmod 777 obejść.

Problem opisany w źródle z 2024 roku dotyczył przede wszystkim brakującego mapowania woluminu; późniejsze problemy z uprawnieniami należy diagnozować dopiero po faktycznym zamontowaniu prawidłowej ścieżki.

Zachowaj ścieżkę po stronie kontenera przy kolejnych instalacjach

Jeśli biblioteka Jellyfin została utworzona z użyciem /Media, zmieniając ścieżkę kontenera na /mnt/media2 podczas ponownej instalacji może sprawić, że istniejąca biblioteka będzie wyglądać na brakującą, mimo że pliki na hoście nigdy nie zostały przeniesione.

W miarę możliwości zachowaj tę samą ścieżkę po stronie kontenera albo celowo zaktualizuj konfigurację biblioteki aplikacji po zmianie mapowania.

Obecny interfejs jest lepszy niż selektor z 2024 roku, ale zasada Dockera się nie zmieniła

IceWhale przyznało w źródle, że stary selektor pamięci masowej był mylący, a później ulepszyło interfejs. Obecny ZimaOS bardziej bezpośrednio pokazuje lokalizację danych aplikacji, ścieżki hosta i kontenera, migrację pamięci masowej oraz użycie pamięci podręcznej aplikacji.

Podstawowa zasada Dockera pozostaje taka sama: kontener widzi tylko to, co jest do niego zamontowane.

Często zadawane pytania dotyczące dostępu aplikacji do pamięci masowej

Dlaczego ZimaOS Files widzi dysk, ale Jellyfin nie?

Files działa na poziomie hosta, natomiast Jellyfin działa wewnątrz kontenera i widzi tylko zamapowane woluminy.

Czy w wątku źródłowym potwierdzono, że dodanie woluminu działa?

Tak. Wielu użytkowników zgłosiło, że wszystko działa po dodaniu woluminu storage/media.

Czy Jellyfin powinien przeglądać surową ścieżkę hosta?

Nie. Jellyfin powinien przeglądać ścieżkę po stronie kontenera przypisaną do zamapowanego folderu hosta.