docs: durchgaengig HoneyBar statt Leiste

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>
This commit is contained in:
marcandClaude Opus 5 committed 2026-08-29 16:57:01 +02:00
1 parent 3b7367944b
commit 9da6503837
6 files changed
+156 -131

No files matched your search

+12 -12
View File
@@ -2,23 +2,23 @@
# HoneyOS und ein Einsetzer für beliebig viele fremde Dienste.
#
# außen ──► Pangolin ──► honeyos (der Schreibtisch)
# Pangolin ──► leiste ──► bentopdf:8080 (App mit Leiste)
# Pangolin ──► einsetzer ──► bentopdf:8080 (App mit HoneyBar)
# │ ──► uptime-kuma:3001
# └──► honeyos:8080 (Leiste + zwei Abfragen)
# └──► honeyos:8080 (HoneyBar + zwei Abfragen)
#
# Die fremden Dienste brauchen kein `ports:` mehr — erreichbar sind sie über
# ihren Namen im Netz `honeybar`, und nach außen führt nur der Einsetzer.
#
# Eine neue App hinzufügen heißt: zwei Zeilen in den Tabellen `$ziel` und
# `$appid`, dann `docker compose up -d --force-recreate leiste`.
# `$appid`, dann `docker compose up -d --force-recreate einsetzer`.
#
# cp ../../.env.example .env && ausfüllen (HONEYOS_APPS_KEY setzen!)
# mkdir -p daten && sudo chown 1000:1000 daten
# docker compose up -d
#
# Danach in Pangolin: honeyos.… → honeyos:8080, jede App → leiste:80.
# Danach in Pangolin: honeyos.… → honeyos:8080, jede App → einsetzer:80.
# Und in HoneyOS jede App eintragen — die `ID` dort muss dem `$appid` hier
# entsprechen, sonst weiß die Leiste nicht, in welcher App man gerade ist.
# entsprechen, sonst weiß die HoneyBar nicht, in welcher App man gerade ist.
# ─────────────────────────────────────────────────────────────────────────────
services:
@@ -45,21 +45,21 @@ services:
- HONEYOS_APPS_KEY=${HONEYOS_APPS_KEY:-}
networks: [honeybar]
leiste:
einsetzer:
image: nginx:alpine
container_name: honeybar-leiste
container_name: honeybar-einsetzer
restart: unless-stopped
ports:
- "${LEISTE_PORT:-8185}:80"
configs:
- source: leiste
- source: einsetzer
target: /etc/nginx/conf.d/default.conf
networks: [honeybar]
# Kein depends_on: Der Einsetzer reicht nur durch. Ist HoneyOS aus, fehlt
# die Leiste — die Apps laufen weiter.
# die HoneyBar — die Apps laufen weiter.
configs:
leiste:
einsetzer:
# `$$` ist hier ein einfaches `$` für nginx. Ein einzelnes `$` setzt
# dagegen Compose ein — genau das ist bei ${HONEYOS_APPS_KEY} gewollt: der
# Schlüssel steht damit nur in der nginx-Konfiguration, nie in der Seite.
@@ -74,7 +74,7 @@ configs:
}
# ── Und welche App das für HoneyOS ist ────────────────────────────────
# Muss der `ID` in der App-Liste entsprechen. Daran erkennt die Leiste,
# Muss der `ID` in der App-Liste entsprechen. Daran erkennt die HoneyBar,
# wo man gerade ist, und hebt den Eintrag hervor — wie in Aether.
map $$host $$appid {
default "";
@@ -101,7 +101,7 @@ configs:
# kaputt. Wieviel erlaubt ist, entscheidet die App dahinter.
client_max_body_size 0;
# ── Die Leiste, durchgereicht über DIESE Adresse ──────────────────
# ── Die HoneyBar, durchgereicht über DIESE Adresse ──────────────────
# Dadurch ist sie für den Browser eigener Ursprung: Die CSP der App
# bleibt unangetastet, CORS und COEP entfallen.
location /honeybar/ {