Die HoneyBar kommt bei fremden Apps ueber deren eigenen Ursprung — das
loest CSP, CORS und COEP auf einmal, setzt sie aber auch deren Zwischen-
speicher aus. Eine alte HoneyBar dort sieht aus wie ein Fehler in HoneyOS.
Statt no-cache jetzt no-store, must-revalidate; dazu ein Abschnitt in der
README, wie man einen haengengebliebenen Stand erkennt.
Und der nginx davor heisst nicht mehr 'Einsetzer', sondern HoneyBar-Proxy
(Dienst und Behaelter honeybar-proxy bzw. <app>-honeybar). Er ist ein
Reverse Proxy, der die HoneyBar einsetzt — der alte Name sagte das
Gegenteil von dem, was man im docker ps sehen will. LEISTE_PORT heisst
jetzt HONEYBAR_PROXY_PORT.
Der Dienst im Beispiel heisst jetzt einsetzer — er ist nicht die HoneyBar,
er setzt sie ein. Zusammensetzungen wie Menueleiste, Taskleiste und
Statusleiste bleiben, die meinen etwas anderes.
Dazu in IDEAS notiert, dass HoneyBar und Menueleiste zwei getrennte Stilsaetze
sind und schon einmal auseinandergelaufen ist.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
In der Oberflaeche hiess das Feld Kennung, in der Konfiguration id, in der
README beides. Drei Namen fuer dieselbe Sache, und man muss sie beim Eintragen
zusammenbringen — jetzt ueberall ID.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nginx nimmt ohne client_max_body_size bei 1 MB nichts mehr an. Jede App mit
Dateiupload waere hinter dem Einsetzer kaputt gegangen — und der Fehler haette
wie ein Fehler der App ausgesehen. Nachgemessen: 5 MB gaben 413, danach kam die
Ablehnung von der Ziel-App statt vom Einsetzer.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Am Host erkennt nginx, welcher Dienst gemeint ist und welche App das fuer
HoneyOS ist; die Leiste hebt sie dann hervor wie in Aether. Dieselbe Bauart wie
im BentoPDF-Beispiel: Leiste und ihre zwei Abfragen laufen ueber die Adresse
der App, damit deren CSP unangetastet bleibt.
Die beiden .conf-Dateien sind weg — sie standen ein zweites Mal in der
Compose-Datei, und zwei Fassungen derselben Sache laufen auseinander. Heute
schon zweimal passiert.
Geprueft mit zwei Diensten: richtige Kennung je Host, richtige Hervorhebung in
der Leiste, gemeinsame App-Liste, Wetter.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Marcs BentoPDF-Image (ghcr.io/alam00000/bentopdf-simple) schickt eine strenge
CSP — mit dem Image von Docker Hub, an dem ich zuerst geprueft hatte, war das
nicht zu sehen. Statt fremde Kopfzeilen umzuschreiben, reicht der Einsetzer
jetzt auch /honeybar/ und die zwei Abfragen der Leiste unter seiner eigenen
Adresse durch. Damit ist fuer den Browser alles derselbe Ursprung: CSP
unangetastet, kein CORS, kein COEP, und der Schluessel bleibt auf dem Server.
Durchgereicht wird nur /api/apps und /api/weather, nur lesend. Ein pauschales
/api/ haette die ganze Schnittstelle unter die Adresse der App gehaengt — beim
Ausprobieren hat meine eigene Schreibprobe prompt die App-Liste geleert.
Das Binden auf 127.0.0.1 ist raus: Es passt nur, wenn der Proxy auf demselben
Wirt im Host-Netz laeuft, und nicht fuer Marcs Aufbau.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Fehlt eine der beiden Dateien auf dem Wirt, legt Docker dort wortlos ein
Verzeichnis an und scheitert beim Start mit "not a directory" — beim Einsetzen
ueber eine Oberflaeche eine Falle ohne Nutzen. Als configs mit content traegt
die Compose-Datei alles selbst.
Durchprobiert ohne eine einzige Datei auf dem Wirt: Stapel hoch, HoneyOS
antwortet, richtige data-app, unbekannter Host 404.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Getrennt gepflegt hiesse, bei jeder neuen App an zwei Stellen zu denken. Das
Netz legt der Stapel selbst unter festem Namen an — vorher musste es von Hand
erzeugt werden, und ohne festen Namen hiesse es nach dem Ordner.
Durchprobiert: Stapel hoch, fremde App tritt dem Netz bei, beide Hosts bekommen
die richtige data-app, unbekannter Host 404.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Am Host erkennt nginx den Dienst; eine neue App sind zwei Zeilen. Geprueft mit
zwei Diensten gleichzeitig: richtige data-app je Host, unbekannter Host 404,
WebSocket-Upgrade durchgereicht.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Compose und nginx-Konfiguration, genau so durchprobiert. Dazu der Hinweis, dass
der Ursprung in HoneyOS auf den Buchstaben passen muss: localhost und 127.0.0.1
sind fuer den Browser zwei verschiedene.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>