Soluzione della community

Usa volumi Docker di sola lettura nelle app personalizzate di ZimaOS

A ZimaOS user found that the WebUI did not preserve Docker :ro or readonly mount options. Community replies clarified that standard Docker on ZimaOS supports the flags through Compose/CLI, while IceWhale said richer WebGUI mount options were being designed.

Docker on ZimaOS supports read-only bind mounts, but the ZimaOS Custom App WebUI discussed in this community thread does not reliably preserve options such as :ro Docker su ZimaOS supporta i montaggi bind in sola lettura, ma la WebUI delle app personalizzate di ZimaOS discussa in questo thread della community non conserva in modo affidabile opzioni come :readonly oppure

quando si modifica una mappatura di volume. Si tratta di una limitazione della WebUI, non di una limitazione di Docker.

La soluzione alternativa della community consiste nell'esportare o scrivere manualmente lo YAML di Compose e creare l'applicazione con Docker Compose o la CLI. IceWhale ha riconosciuto nel dicembre 2025 che le future WebGUI erano in fase di progettazione con più opzioni di modifica. Una risposta successiva, del 24 agosto 2026, descriveva ancora come irrisolto il comportamento della UI per i montaggi in sola lettura; gli utenti attuali dovrebbero quindi verificare il montaggio effettivo del container invece di presumere che l'interfaccia abbia conservato il flag.

Docker supporta i montaggi bind in sola lettura

L'attuale documentazione di Docker sui montaggi bind supporta entrambe le opzioni ro e readonly. Con l'opzione breve sintassi:

docker run -v /host/path:/container/path:ro IMAGE

Docker accetta anche readonly come opzione nella sintassi documentata dei montaggi bind. Con --mount:

docker run --mount type=bind,src=/host/path,dst=/container/path,readonly IMAGE

Un montaggio in sola lettura impedisce al container di scrivere attraverso quel montaggio, consentendogli comunque di leggere i file dell'host.

Cosa faceva la WebUI di ZimaOS

L'utente originale ha riferito che, quando un volume veniva modificato nella WebUI, l'interfaccia non riconosceva il suffisso finale :ro il flag. Una risposta della community ha descritto più precisamente il comportamento: l'interfaccia riscriveva il montaggio e rimuoveva silenziosamente l'opzione di sola lettura quando l'applicazione veniva salvata o riaperta.

Questa distinzione è importante. Il motore Docker sottostante può creare il montaggio corretto in sola lettura, ma il campo dei volumi della GUI potrebbe non rappresentare tutte le opzioni di montaggio di Docker.

Cosa ha dichiarato IceWhale sulla limitazione

Il 26 dicembre 2025, Zima-Jerry ha risposto che le future WebGUI avrebbero offerto più opzioni di modifica e che l'interfaccia era ancora in fase di progettazione. In seguito, il 24 agosto 2026, nel thread è stata aggiunta una risposta che definiva la mancanza del feedback sulla sola lettura un problema di sicurezza e chiedeva una tempistica.

Il thread originale non contiene una successiva conferma da parte di IceWhale che la limitazione dell'interfaccia sia stata risolta. Per questo motivo, non presumere che un campo attuale della WebUI sia sicuro per :ro finché non verifichi il montaggio effettivo del container.

Usa Docker Compose per i montaggi in sola lettura

La soluzione alternativa della community consisteva nell’esportare da ZimaOS lo YAML Compose dell’app, modificare il montaggio e ricreare il container con Docker Compose standard.

Docker Compose supporta una modalità di accesso come terzo campo nella sintassi breve dei volumi:

services:
  app:
    image: your/image:latest
    volumes:
      - /DATA/example:/data:ro

L’attuale documentazione di riferimento dei file Compose di Docker documenta ro come modalità di accesso in sola lettura per un volume montato o un percorso bind.

Un flusso di lavoro pratico per ZimaOS

  1. Apri le impostazioni dell’applicazione personalizzata.
  2. Esporta lo YAML Compose se la versione ZimaOS in uso offre questa opzione.
  3. Salva una copia di backup prima di modificare.
  4. Aggiungi :ro solo ai percorsi host che il container non dovrebbe modificare.
  5. Convalida lo YAML.
  6. Usa un terminale autorizzato per eseguire Docker Compose.
  7. Verifica il montaggio risultante prima di affidargli file sensibili.

Un normale comando Compose è:

docker compose up -d

Eseguilo dalla directory contenente il file Compose e tieni presente che un progetto Compose gestito manualmente potrebbe non comportarsi esattamente come un’app gestita interamente tramite l’interfaccia ZimaOS.

Verifica che il montaggio sia effettivamente in sola lettura

Non fidarti solo dello YAML o dell’etichetta della WebUI. Ispeziona il container in esecuzione:

docker inspect CONTAINER_NAME

Nel comando Mounts nella sezione , Docker mostra se il montaggio è scrivibile. Un bind mount correttamente configurato in sola lettura dovrebbe restituire:

"RW": false

La documentazione ufficiale di Docker utilizza questo metodo di ispezione per verificare i montaggi in sola lettura.

Verifica attentamente il limite di accesso

Puoi anche eseguire il test dall’interno di un container usa e getta o non critico, provando a creare un file nel percorso montato. Un montaggio in sola lettura configurato correttamente dovrebbe rifiutare la scrittura.

Non verificare sovrascrivendo un file importante. Usa un nome file temporaneo innocuo e rimuovi dal sistema host eventuali artefatti di test se la scrittura riesce inaspettatamente.

:ro e :readonly sono opzioni Docker, ma la sintassi è importante

Il titolo originale menziona entrambe le opzioni :ro e :readonly. La documentazione attuale di Docker sui bind mount accetta entrambi i nomi nei contesti applicabili delle opzioni di montaggio. La sintassi breve di Compose più utilizzata è:

/host/path:/container/path:ro

Per i percorsi lunghi o --mount sintassi, readonly è documentato anch’esso. Abbina l’opzione alla sintassi Docker che stai effettivamente usando, invece di incollare un suffisso in un campo ZimaOS che accetta solo un percorso del container.

Un montaggio in sola lettura è diverso da un filesystem del container in sola lettura

Docker Compose ha anche un’impostazione a livello di servizio read_only option. Questo rende il file system radice del container di sola lettura. Non equivale a contrassegnare un singolo bind mount come di sola lettura.

Ad esempio:

services:
  app:
    image: your/image:latest
    read_only: true

Usalo solo quando l'applicazione è progettata per funzionare con un file system radice in sola lettura e i relativi percorsi scrivibili sono montati separatamente.

Evita di salvare nuovamente il volume in un'interfaccia che rimuove il flag

Una risposta della community suggeriva di trattare la WebUI di ZimaOS come sostanzialmente a sola scrittura per le impostazioni dei volumi dopo aver creato manualmente un mount in sola lettura. Il problema è che riaprire e salvare l'app tramite una GUI che non comprende l'opzione può riscrivere il mount senza :ro.

Prima di apportare ulteriori modifiche dall'interfaccia, esporta la configurazione Compose corrente e verifica nuovamente il mount.

Perché è importante per la sicurezza

I mount in sola lettura vengono spesso usati per consentire a un'applicazione di accedere a configurazione, file multimediali, certificati, backup o dati sorgente senza darle il permesso di modificare tali file.

Se un'interfaccia modifica silenziosamente un mount da sola lettura a lettura-scrittura, il container riceve più accesso al file system dell'host di quanto l'amministratore intendesse. Ecco perché la verifica con docker inspect è importante finché l'interfaccia stessa non rappresenterà l'opzione in modo affidabile.

Checklist per i mount Docker in sola lettura di ZimaOS

  1. Conferma che l'applicazione necessiti davvero solo dell'accesso in lettura.
  2. Non dare per scontato che la WebUI di ZimaOS conservi :ro.
  3. Esporta o scrivi un file Compose.
  4. Usa /host:/container:ro per il mount previsto.
  5. Avvia il progetto con Docker Compose standard.
  6. Verifica il mount con docker inspect.
  7. Conferma RW è false.
  8. Fai attenzione quando riapri o salvi nuovamente l'applicazione nella WebUI.
  9. Conserva una copia del file YAML di Compose funzionante per il ripristino.

FAQ sui mount Docker in sola lettura di ZimaOS

Docker su ZimaOS supporta :ro?

Sì, a livello di Docker Engine/Compose. La discussione originale identifica la limitazione nella gestione delle opzioni di mount da parte della WebUI di ZimaOS.

Il problema della WebUI è stato confermato come risolto?

Non in questa discussione originale. Una risposta del 24 agosto 2026 descriveva ancora come irrisolto il comportamento dell'interfaccia utente in sola lettura.

Qual è la migliore soluzione temporanea attuale?

Esporta o crea un file YAML di Compose, aggiungi lì il mount in sola lettura ed esegui docker compose up -de verifica il container in esecuzione con docker inspect.

Il read_only del servizio è uguale a un volume :ro?

No. A livello di servizio, read_only: true influisce sul file system radice del container. Un :ro volume influisce solo su quel mount specifico.

Perché perdere silenziosamente :ro è un problema di sicurezza?

Perché il container potrebbe ottenere l'accesso in scrittura ai file dell'host che l'amministratore intendeva esporre solo in lettura.