From 6da567aee6b49ebd9246467728e775579746e440 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Wed, 30 Sep 2026 01:36:44 +0200 Subject: [PATCH] docs(satellite): Workaround fuer KeyError 'ContainerConfig' (docker-compose 1.29.2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug der alten Python-Version beim Ersetzen eines Containers mit Volume: get_container_data_volumes liest image_config['ContainerConfig'], das neuere Docker-Versionen nicht mehr schreiben. Fix: 'docker compose' (v2) nutzen oder den alten Container vorher mit 'rm -sf' entfernen (dann greift der create- statt recreate-Pfad). Trat schon beim frueheren Satelliten-Build auf — jetzt dokumentiert. Co-Authored-By: Claude Opus 4.8 --- satellite/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/satellite/README.md b/satellite/README.md index 2d01166..bd6b979 100644 --- a/satellite/README.md +++ b/satellite/README.md @@ -32,6 +32,18 @@ docker compose logs -f # "Netz: primary_ip=192.168.0.x" + "[scan] N Ger ``` `network_mode: host` (schon gesetzt) gibt hier echtes LAN + Multicast. +> **Fehler `KeyError: 'ContainerConfig'` beim Neubauen?** +> Das ist ein **Bug im alten `docker-compose` 1.29.2** (Python-Version), nicht im +> Satelliten: Beim *Ersetzen* eines bestehenden Containers mit Volume liest es ein +> Feld aus dem Image, das neuere Docker-Versionen nicht mehr schreiben. Zwei Fixes: +> ```bash +> docker compose up -d --build # v2 (mit LEERZEICHEN) — falls vorhanden +> # oder mit der alten Version: alten Container erst weg, dann neu anlegen +> docker-compose rm -sf satellite && docker-compose up -d --build +> ``` +> Der `./data`-Ordner (Credentials, ADB-Schlüssel, APK-Cache) bleibt dabei erhalten — +> er ist ein Bind-Mount, kein Container-Volume. + **B) Nativ als Python-Prozess** (für Mac/Windows-Test oder ohne Docker) — läuft direkt auf einer Maschine im Ziel-LAN. Das Script lädt die `.env` **selbst** (muss im `satellite/`-Ordner liegen):