feat(honeybar): Adresse auf honeyos.duckdns.org, Schlüssel aus der Bauzeit
HoneyOS liegt auf einer anderen Site als Aether – duckdns.org steht auf der Public-Suffix-Liste, die gemeinsame Endung zaehlt fuer den Browser also nicht. Folge: bei der Anfrage der Leiste schickt er die HoneyOS-Sitzung nicht mit, und ohne zweiten Ausweis bekaeme sie nie eine App-Liste. - data-key kommt aus HONEYBAR_KEY in der .env und wird beim Bauen von Vite in die index.html eingesetzt. Bewusst nicht im Quelltext: er kaeme sonst ins Repo und liesse sich nur mit einer Code-Aenderung wechseln. - Leer gebaut heisst data-key="" – die Leiste bekommt dann keine Liste, Aether bleibt davon unberuehrt. Nach einer Aenderung an HONEYBAR_KEY ist ein `build app` noetig, ein Neustart genuegt nicht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9b8e82cdb2
commit
3b12d2e943
4 files changed
+26
-4
No files matched your search
+8
-1
@@ -70,7 +70,14 @@ ADMIN_PASSWORD=changeme_strong_admin_password
|
||||
#
|
||||
# Muss exakt zur Adresse im <script>-Tag der frontend/index.html passen.
|
||||
# Leer = keine Leiste, und die CSP bleibt so eng wie ohne sie.
|
||||
HONEYBAR_ORIGIN=https://os.example.com
|
||||
HONEYBAR_ORIGIN=https://honeyos.example.com
|
||||
# Schlüssel, mit dem sich die Leiste die App-Liste holt. Nötig, weil HoneyOS auf
|
||||
# einer anderen Site liegt als Aether und der Browser die HoneyOS-Sitzung dann
|
||||
# nicht mitschickt. Muss zu HONEYOS_APPS_KEY drüben passen.
|
||||
#
|
||||
# Wird beim **Bauen** in die index.html eingesetzt — nach einer Änderung also
|
||||
# `docker compose build app`, ein Neustart genügt nicht.
|
||||
HONEYBAR_KEY=
|
||||
|
||||
# ── Volltextsuche (OCR) ───────────────────────────────────────────────────────
|
||||
# Standardmäßig an; fehlen ocrmypdf/tesseract, schaltet es sich selbst ab.
|
||||
|
||||
@@ -4,6 +4,10 @@ WORKDIR /app/frontend
|
||||
COPY frontend/package*.json ./
|
||||
RUN npm ci
|
||||
COPY frontend/ ./
|
||||
# Schlüssel für die HoneyOS-Leiste. Vite setzt ihn in die index.html ein; leer
|
||||
# heisst: die Leiste bekommt keine App-Liste, der Rest bleibt unberührt.
|
||||
ARG HONEYBAR_KEY=""
|
||||
ENV VITE_HONEYBAR_KEY=$HONEYBAR_KEY
|
||||
RUN npm run build
|
||||
|
||||
# ── Stage 2: Backend build ────────────────────────────────────────────────────
|
||||
|
||||
@@ -16,6 +16,9 @@ services:
|
||||
# frontend/, nicht nur diesen Ordner.
|
||||
context: ..
|
||||
dockerfile: deploy/Dockerfile
|
||||
args:
|
||||
# Wird in die index.html eingebacken, siehe dort.
|
||||
HONEYBAR_KEY: ${HONEYBAR_KEY:-}
|
||||
image: gitea.honeyy.duckdns.org/docker/aether:latest
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
|
||||
+11
-3
@@ -30,8 +30,16 @@
|
||||
langsam oder aus, darf das Aether nicht ausbremsen.
|
||||
|
||||
Damit der Browser sie überhaupt lädt, muss HONEYBAR_ORIGIN in der .env
|
||||
auf denselben Ursprung zeigen — sonst blockt die CSP. -->
|
||||
<script defer src="https://os.honeyy.duckdns.org/honeybar/honeybar.js"
|
||||
data-app="aether"></script>
|
||||
auf denselben Ursprung zeigen — sonst blockt die CSP.
|
||||
|
||||
data-key kommt aus HONEYBAR_KEY in der .env und wird beim Bauen
|
||||
eingesetzt. HoneyOS liegt auf einer anderen Site als Aether
|
||||
(duckdns.org ist ein public suffix), deshalb schickt der Browser die
|
||||
HoneyOS-Sitzung nicht mit — ohne diesen zweiten Ausweis bekäme die
|
||||
Leiste nie eine App-Liste. Der Schlüssel steht bewusst nicht im
|
||||
Quelltext: er käme sonst ins Repo und liesse sich nur mit einer
|
||||
Code-Änderung wechseln. -->
|
||||
<script defer src="https://honeyos.duckdns.org/honeybar/honeybar.js"
|
||||
data-app="aether" data-key="%VITE_HONEYBAR_KEY%"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user