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:
1 parent
3b7367944b
commit
9da6503837
6 files changed
+156
-131
No files matched your search
@@ -1,10 +1,10 @@
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# BentoPDF mit HoneyOS-Leiste — alles über den eigenen Ursprung.
|
||||
# BentoPDF mit HoneyBar — alles über den eigenen Ursprung.
|
||||
#
|
||||
# Pangolin → leiste → bentopdf
|
||||
# Pangolin → einsetzer → bentopdf
|
||||
# ↘ honeyos (nur /honeybar/ und zwei Abfragen)
|
||||
#
|
||||
# Der Kniff: Die Leiste wird nicht von honeyos.… geladen, sondern über die
|
||||
# Der Kniff: Die HoneyBar wird nicht von honeyos.… geladen, sondern über die
|
||||
# Adresse der App selbst durchgereicht. Für den Browser ist sie damit eigener
|
||||
# Ursprung — und alle drei Hürden fallen auf einmal weg:
|
||||
#
|
||||
@@ -16,7 +16,7 @@
|
||||
# im Quelltext der Seite steht er nicht.
|
||||
#
|
||||
# docker compose up -d
|
||||
# → in Pangolin die Ressource auf leiste:80 zeigen lassen,
|
||||
# → in Pangolin die Ressource auf einsetzer:80 zeigen lassen,
|
||||
# und in HoneyOS BentoPDF als App eintragen (ID: bentopdf, URL: die
|
||||
# öffentliche Adresse, exakt so, wie du sie im Browser aufrufst).
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
@@ -26,12 +26,12 @@ services:
|
||||
container_name: bentopdf
|
||||
restart: unless-stopped
|
||||
# Kein ports: nötig — erreichbar ist nur noch der Einsetzer davor.
|
||||
# (Zum direkten Nachsehen ohne Leiste ruhig eins lassen.)
|
||||
# (Zum direkten Nachsehen ohne HoneyBar ruhig eins lassen.)
|
||||
networks: [honeybar]
|
||||
|
||||
leiste:
|
||||
einsetzer:
|
||||
image: nginx:alpine
|
||||
container_name: bentopdf-leiste
|
||||
container_name: bentopdf-einsetzer
|
||||
restart: unless-stopped
|
||||
depends_on: [bentopdf]
|
||||
ports:
|
||||
@@ -39,15 +39,15 @@ services:
|
||||
# Pangolin auf demselben Wirt im Host-Netz läuft — hängt es in einem
|
||||
# eigenen Behälter oder auf einer anderen Maschine, kommt es dort nicht
|
||||
# hin. Am saubersten: kein ports:, und Pangolin (bzw. sein Newt) tritt
|
||||
# dem Netz `honeybar` bei und spricht `leiste:80` direkt an.
|
||||
# dem Netz `honeybar` bei und spricht `einsetzer:80` direkt an.
|
||||
- "${LEISTE_PORT:-8185}:80"
|
||||
configs:
|
||||
- source: leiste
|
||||
- source: einsetzer
|
||||
target: /etc/nginx/conf.d/default.conf
|
||||
networks: [honeybar]
|
||||
|
||||
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 kommt aus der .env und landet nur in der Konfiguration
|
||||
@@ -64,7 +64,7 @@ configs:
|
||||
# kaputt. Wieviel erlaubt ist, entscheidet die App dahinter.
|
||||
client_max_body_size 0;
|
||||
|
||||
# 1. Die Leiste selbst, durchgereicht über diesen Ursprung.
|
||||
# 1. Die HoneyBar selbst, durchgereicht über diesen Ursprung.
|
||||
location /honeybar/ {
|
||||
proxy_pass http://honeyos:8080/honeybar/;
|
||||
}
|
||||
|
||||
@@ -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/ {
|
||||
|
||||
Reference in new issue
Block a user