Fazit: Die App war in Ordnung – Docker versuchte, seine CLI-Konfiguration in das schreibgeschützte Root-Dateisystem von ZimaOS zu schreiben
Der Compose-Stack funktionierte bereits auf einem anderen Rechner. Unter ZimaOS schlug er mit mkdir /root/.docker: read-only file system fehl. Das Setzen von DOCKER_CONFIG auf einen beschreibbaren Speicherort behob das eigentliche Problem.
Für eine einmalige App einen beschreibbaren Docker-Konfigurationspfad verwenden
sudo -i
mkdir -p /var/lib/docker/.docker
export DOCKER_CONFIG=/var/lib/docker/.docker
docker compose up -d
Der Befehl funktionierte im konkreten Fall, weil Docker nun nicht mehr versuchte, /root/.docker im Root-Dateisystem des Geräts zu erstellen. Docker dokumentiert die Umgebungsvariable DOCKER_CONFIG in seiner Docker-CLI-Konfiguration.
Für eine wiederholbare ZimaOS-App die Compose-Datei ordnungsgemäß paketieren
Das aktuelle ZimaOS verwendet normales Docker Compose für Laufzeiteinstellungen und einen x-casaos-Block auf oberster Ebene für App-Store-Metadaten. Die ZimaOS-App-Metadaten definieren die aktuellen v2-Felder.
Das Docker-Compose-Schema bleibt die maßgebliche Quelle für die Laufzeitkonfiguration.
Warum die Benutzeroberfläche das lokal hochgeladene Image nicht verwenden konnte
Der Installationsablauf des App Stores erwartet eine Image-Referenz, die er über die App-Definition auflösen kann. Ein manuell geladenes lokales Image kann zwar in Docker vorhanden sein, den Installationspfad des Stores aber trotzdem nicht erfüllen. Für eine private Haushalts-App ist direktes Compose einfacher; für die Verteilung sollten Sie das Image in eine Registry hochladen oder ein ordnungsgemäßes ZimaOS-App-Paket erstellen.
Anwendungsdaten auf beschreibbarem Speicher ablegen
Binden Sie Datenbanken, Uploads und Konfigurationen an persistente Host-Pfade. Die Portainer-Anforderungen sind eine Alternative für manuell verwaltete Docker-Workloads.
Das Store-Protokoll nur verwenden, wenn Sie Store-Funktionen benötigen
Wenn das Ziel eine einzelne Familien-App für Einkaufslisten ist, genügt direktes Compose. Wenn das Ziel die Verteilung über einen installierbaren Katalog mit Symbolen, Metadaten und Updates ist, verwenden Sie die aktuelle v2-Struktur des ZimaOS-App-Stores. Die ZimaOS-App-Anforderungen liefern den Bereitstellungskontext.
