Soluzione della community

Le app di ZimaOS non vedono lo spazio di archiviazione: aggiungi volumi Docker per Jellyfin, Emby e 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.

Quando Jellyfin, Emby o Plex riescono a vedere solo ZimaOS-HD e non l'HDD, l'NVMe o il RAID in cui si trovano effettivamente i tuoi contenuti multimediali, il problema di solito non è che Docker «non abbia i permessi per accedere al NAS». Un container può esplorare solo le cartelle dell'host che ZimaOS gli mappa come volumi.

Questa era la soluzione principale nella discussione originale del giugno 2024. ETWang1991 ha detto agli utenti di aprire le impostazioni dell'app e aggiungere il nuovo storage come volume. L'autore del post originale ha risposto che da quel momento ha funzionato «a meraviglia», e un altro utente di Jellyfin è giunto in seguito alla stessa conclusione dopo aver visto gli screenshot.

Un'app Docker non vede l'intero filesystem dell'host ZimaOS

L'isolamento del container è intenzionale. Jellyfin può vedere /Media all'interno del suo container solo se quel percorso è stato mappato a una directory reale dell'host contenente i file multimediali.

La comparsa di un'unità nei File di ZimaOS non la rende automaticamente visibile all'interno di ogni container dell'App Store.

Apri le impostazioni dell'app e modifica i volumi

Menu delle applicazioni di ZimaOS con Impostazioni evidenziato per modificare un'app Docker
La risposta ufficiale ha indirizzato gli utenti alle impostazioni di ciascuna app, perché le mappature dei volumi sono configurate per ogni applicazione.

Scegli la vera cartella Media dell'host

Selettore dello storage di ZimaOS con le cartelle Serie TV, Musica e Film all'interno della directory Media
Il selettore dello storage mostra la cartella dell'host che verrà montata nel container.

Scegli la directory nello spazio di archiviazione effettivo che contiene la tua libreria, invece di digitare un percorso principale ipotetico come /Main-Storage.

I percorsi dell'host e del container hanno funzioni diverse

Impostazioni di Jellyfin con i percorsi dello storage ZimaOS dell'host mappati nei percorsi dei volumi del container
Il percorso dell'host identifica la cartella reale di ZimaOS; il percorso del container indica la posizione in cui Jellyfin navigherà all'interno del suo filesystem isolato.

Il percorso all'interno del container dovrebbe essere semplice e stabile, ad esempio /media oppure /MediaAll'interno di Jellyfin, aggiungi le librerie usando quel percorso del container, non il percorso grezzo dell'host.

Più utenti hanno confermato che la mappatura dei volumi era il passaggio mancante

L'autore del post originale ha detto che la modifica ha funzionato. Un altro utente con uno storage principale RAID 5 inizialmente vedeva solo il disco del sistema operativo, poi ha risposto che gli screenshot gli avevano dato l'idea: «Dovevo aggiungere i volumi a Jellyfin.»

Si tratta di una soluzione confermata dalla fonte, non di una soluzione alternativa speculativa basata sui permessi.

I dischi aggiunti singolarmente erano un problema dell'interfaccia utente nel 2024

Alcuni utenti hanno avuto difficoltà a selezionare singolarmente i dischi abilitati o lo spazio di archiviazione RAID nel vecchio selettore. Lo staff di IceWhale ha risposto che le unità singole potevano essere abilitate e utilizzate, e in seguito ha dichiarato che l'interfaccia era stata migliorata.

Queste limitazioni del 2024 appartengono alle prime versioni di ZimaOS. Le impostazioni attuali di archiviazione e delle app di ZimaOS mostrano molto più chiaramente lo spazio di archiviazione gestito.

ZimaOS documenta esplicitamente i percorsi di archiviazione delle app

La documentazione attuale di IceWhale spiega ora che i container dell'App Store conservano i dati persistenti in cartelle reali dell'host e che le mappature dei volumi di ogni app possono essere esaminate e modificate dalle relative impostazioni.

Usa l'attuale modello dei percorsi delle app Docker di ZimaOS quando configuri Jellyfin, Emby, Plex o un'altra app.

La posizione dei dati delle app e quella dei contenuti multimediali sono separate

I file di configurazione e del database dell'applicazione possono trovarsi nella posizione configurata per i dati delle app, mentre i file multimediali di grandi dimensioni possono risiedere in un altro pool RAID o HDD. Non impostare il volume di configurazione dell'app sulla cartella dei film e non presumere che spostare i dati delle app sposti ogni raccolta multimediale.

ZimaOS ora può spostare i dati delle app gestite

La migrazione attuale dei dati può spostare le immagini Docker e i dati delle applicazioni Docker in un altro spazio di archiviazione. Questo risolve un problema diverso dall'aggiunta di un volume multimediale: una opzione determina dove l'app conserva il proprio stato persistente; l'altra dà al container accesso ai contenuti multimediali dell'utente.

Consulta il flusso di lavoro attuale per la migrazione dei dati delle app gestite.

Scegli montaggi multimediali in sola lettura quando l'app non deve modificare i file

Un server multimediale di solito deve leggere film e musica, ma non ha necessariamente bisogno dell'autorizzazione per eliminare o riorganizzare la libreria sorgente. Quando il pacchetto dell'app lo consente, mappare i contenuti multimediali in sola lettura riduce i danni che un container compromesso o configurato erroneamente può causare.

Le applicazioni che rinominano, spostano o importano intenzionalmente i file, come alcuni sistemi per download o gestione delle foto, richiedono un modello diverso di autorizzazioni di scrittura.

La mappatura del volume e le autorizzazioni del file system sono verifiche separate

Aggiungere la cartella host corretta è il primo requisito. Il processo del container deve inoltre disporre di autorizzazioni sufficienti sul file system per leggere o scrivere in quella cartella. Se una directory mappata appare ma risulta vuota o restituisce errori di autorizzazione, individua UID/GID del container e proprietario sull'host prima di usare autorizzazioni ampie. chmod 777 soluzioni alternative.

Il problema della fonte del 2024 era principalmente la mancanza della mappatura del volume; i successivi problemi di autorizzazione dovrebbero essere diagnosticati solo dopo che il percorso corretto è stato effettivamente montato.

Mantieni stabile il percorso interno al container tra le reinstallazioni

Se la libreria di Jellyfin è stata creata con /Media, modificando il percorso del container in /mnt/media2 durante una reinstallazione può far sembrare mancante la libreria esistente, anche se i file sull'host non sono mai stati spostati.

Quando possibile, mantieni lo stesso percorso interno al container oppure aggiorna deliberatamente la configurazione della libreria dell'applicazione dopo aver modificato la mappatura.

L'interfaccia attuale è migliore di quella del selettore del 2024, ma la regola Docker non è cambiata

Nel testo originale, IceWhale ha riconosciuto che il vecchio selettore dello spazio di archiviazione era poco intuitivo e in seguito ha migliorato l'interfaccia. L'attuale ZimaOS mostra in modo più diretto la posizione dei dati dell'app, i percorsi host/container, la migrazione dello spazio di archiviazione e l'utilizzo della cache dell'app.

La regola Docker di base rimane la stessa: un container vede solo ciò che vi viene montato.

FAQ sull'accesso dell'app allo spazio di archiviazione

Perché Files di ZimaOS riesce a vedere un'unità mentre Jellyfin non ci riesce?

Files viene eseguito a livello host; Jellyfin viene eseguito all'interno di un container e vede solo i volumi mappati.

Nel thread originale è stato confermato che l'aggiunta del volume funziona?

Sì. Diversi utenti hanno segnalato che ha funzionato dopo aver aggiunto il volume di archiviazione.

Jellyfin dovrebbe sfogliare il percorso host originale?

No. Jellyfin dovrebbe sfogliare il percorso interno al container assegnato alla cartella host mappata.