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.
|
# Muss exakt zur Adresse im <script>-Tag der frontend/index.html passen.
|
||||||
# Leer = keine Leiste, und die CSP bleibt so eng wie ohne sie.
|
# 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) ───────────────────────────────────────────────────────
|
# ── Volltextsuche (OCR) ───────────────────────────────────────────────────────
|
||||||
# Standardmäßig an; fehlen ocrmypdf/tesseract, schaltet es sich selbst ab.
|
# Standardmäßig an; fehlen ocrmypdf/tesseract, schaltet es sich selbst ab.
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ WORKDIR /app/frontend
|
|||||||
COPY frontend/package*.json ./
|
COPY frontend/package*.json ./
|
||||||
RUN npm ci
|
RUN npm ci
|
||||||
COPY frontend/ ./
|
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
|
RUN npm run build
|
||||||
|
|
||||||
# ── Stage 2: Backend build ────────────────────────────────────────────────────
|
# ── Stage 2: Backend build ────────────────────────────────────────────────────
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ services:
|
|||||||
# frontend/, nicht nur diesen Ordner.
|
# frontend/, nicht nur diesen Ordner.
|
||||||
context: ..
|
context: ..
|
||||||
dockerfile: deploy/Dockerfile
|
dockerfile: deploy/Dockerfile
|
||||||
|
args:
|
||||||
|
# Wird in die index.html eingebacken, siehe dort.
|
||||||
|
HONEYBAR_KEY: ${HONEYBAR_KEY:-}
|
||||||
image: gitea.honeyy.duckdns.org/docker/aether:latest
|
image: gitea.honeyy.duckdns.org/docker/aether:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file: .env
|
env_file: .env
|
||||||
|
|||||||
+11
-3
@@ -30,8 +30,16 @@
|
|||||||
langsam oder aus, darf das Aether nicht ausbremsen.
|
langsam oder aus, darf das Aether nicht ausbremsen.
|
||||||
|
|
||||||
Damit der Browser sie überhaupt lädt, muss HONEYBAR_ORIGIN in der .env
|
Damit der Browser sie überhaupt lädt, muss HONEYBAR_ORIGIN in der .env
|
||||||
auf denselben Ursprung zeigen — sonst blockt die CSP. -->
|
auf denselben Ursprung zeigen — sonst blockt die CSP.
|
||||||
<script defer src="https://os.honeyy.duckdns.org/honeybar/honeybar.js"
|
|
||||||
data-app="aether"></script>
|
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>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in new issue
Block a user