Questa discussione è iniziata come una domanda sulla disattivazione di un file system di sola lettura in ZimaOS, ma non era questo il vero problema. Dopo aver controllato lo stack, l’autore originale ha scoperto che il file Compose utilizzava percorsi relativi per i volumi.
Questa distinzione è importante perché modificare i permessi del file system dell’host o rimontare i percorsi di sistema sarebbe stata la soluzione sbagliata in questo caso.

Controlla il file Compose prima di modificare ZimaOS
Quando uno stack di container non riesce a creare o scrivere in un percorso, individua innanzitutto cosa sta montando nel container il file Compose. Un bind mount può fare riferimento a un percorso dell’host, mentre un volume denominato è gestito da Docker. Le attuali regole dei volumi di Docker Compose indicano che i percorsi relativi dell’host vengono risolti a partire dalla posizione del progetto Compose.
Per un NAS self-hosted, un percorso persistente esplicito è spesso più facile da gestire rispetto a un percorso relativo ambiguo, perché puoi verificare che la directory di origine esista davvero e sia scrivibile.
Perché l’ipotesi della sola lettura era fuorviante
Un vero problema del file system di sola lettura di solito interessa più di un percorso Compose e deve essere diagnosticato esaminando lo stato effettivo dei mount e i log di sistema. In questa discussione, l’utente non aveva bisogno di disattivare un meccanismo di protezione di ZimaOS. Ha invece corretto la configurazione dei volumi relativi.
Cosa ha suggerito la community
Prima di conoscere la causa principale, una risposta della community suggeriva di aprire la Modalità sviluppatore di ZimaOS, utilizzare il terminale web come root e creare manualmente la directory necessaria. Questo può essere utile quando il percorso dell’host previsto non esiste davvero, ma dovrebbe seguire il controllo dei percorsi Compose, non sostituirlo.
Un ordine di risoluzione dei problemi più sicuro
- Controlla ogni voce
volumes:nel file Compose. - Stabilisci se ogni origine è un volume denominato, un percorso assoluto dell’host o un percorso relativo.
- Verifica che la directory prevista sull’host esista.
- Verifica che il container non sia montato esplicitamente con
:rooread_only: true. - Indaga lo stato dei mount del file system dell’host solo se lo stesso errore di scrittura persiste al di fuori della configurazione del container.
Contesto attuale di Docker e Portainer
Per le distribuzioni attuali su ZimaOS, i requisiti hardware di Portainer forniscono il contesto più ampio relativo alla persistenza e al runtime di Portainer, mentre la guida sulla prima applicazione Docker spiega come le applicazioni ZimaOS associano i dati persistenti ai container. Se un mount è realmente di sola lettura e non semplicemente indirizzato al percorso sbagliato, la guida sulla risoluzione dei problemi dei bind mount Docker distingue un mount configurato con :ro da un file system dell’host che ha smesso di accettare scritture.
Le regole dei bind mount Docker confermano che i bind mount possono utilizzare percorsi di origine dell’host e che il comportamento di sola lettura viene controllato esplicitamente con readonly o ro. Il funzionamento degli stack Portainer ufficiale definisce uno stack Portainer come un insieme correlato di servizi; per questo è opportuno controllare il file Compose prima di modificare direttamente l’host ZimaOS.
In sintesi
L’errore segnalato nello stack Portainer non è stato risolto disattivando un file system di sola lettura. L’utente ha corretto i percorsi relativi dei volumi in docker-compose.yml. Per errori simili dei container ZimaOS, convalida la definizione dei mount Compose prima di apportare modifiche al file system dell’host.
