docs(config): Office-Abschnitt der .env.example auf die Schlüssel gekürzt
Die Adressen und Fallstricke stehen im README; hier standen sie ein zweites Mal. Jetzt sechs Zeilen mit knapper Randnotiz, welche Richtung welche Adresse meint. Der Hinweis zu Collabora bleibt: OFFICE_WOPI_URL muss dort die öffentliche Adresse sein, sonst verweigert der Browser den Rahmen. Das hat einen Abend gekostet und ist beim Überfliegen nicht zu erraten. Beim Kürzen selbst wieder in die dokumentierte Falle getappt: zwei leere Werte mit Kommentar dahinter. Diesmal nachgemessen statt geglaubt – ein Container mit so einer Zeile bekommt LEER=[# Browser → Office], während ein gefüllter Wert den Kommentar verliert. Beide Kommentare stehen jetzt in der Zeile darüber, die ganze Datei ist gegengeprüft. Nebenbei: veralteter deploy/-Verweis im Kommentar von AppSwitcher.tsx auf build/ gezogen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
86da975424
commit
31d51f9bc3
2 files changed
+11
-29
No files matched your search
+10
-28
@@ -98,35 +98,17 @@ OIDC_LINK_BY_USERNAME=false
|
|||||||
OIDC_BUTTON_LABEL=Sign in with SSO / OIDC
|
OIDC_BUTTON_LABEL=Sign in with SSO / OIDC
|
||||||
|
|
||||||
# ══ Office (optional) ═════════════════════════════════════════════════════════
|
# ══ Office (optional) ═════════════════════════════════════════════════════════
|
||||||
# Leer = aus, auch wenn ein Office-Container läuft.
|
# Leer = aus. Compose-Schnipsel, Adressen und Fallstricke: README.md.
|
||||||
# Compose-Schnipsel für Collabora, OnlyOffice und Euro-Office: README.md
|
# Bei Collabora muss OFFICE_WOPI_URL die öffentliche Adresse der Cloud sein,
|
||||||
# collabora | onlyoffice (auch Euro-Office)
|
# sonst verweigert der Browser den Rahmen.
|
||||||
OFFICE_PROVIDER=
|
OFFICE_PROVIDER=onlyoffice # collabora | onlyoffice (auch Euro-Office)
|
||||||
|
OFFICE_URL=http://office # Backend → Office (Collabora: :9980)
|
||||||
# Drei Adressen für drei Richtungen – die häufigste Fehlerquelle.
|
# Browser → Office
|
||||||
#
|
OFFICE_PUBLIC_URL=
|
||||||
# Backend → Office. Port je nach Anbieter:
|
OFFICE_WOPI_URL=http://app:8080 # Office → Aether
|
||||||
# Collabora http://office:9980
|
OFFICE_ALLOWED_HOSTS=office # gegen SSRF
|
||||||
# OnlyOffice/Euro-Office http://office
|
# nur OnlyOffice, openssl rand -hex 32
|
||||||
OFFICE_URL=http://office:9980
|
|
||||||
# Browser → Office. Deine Domain oder LAN-IP, nicht der Compose-Name.
|
|
||||||
OFFICE_PUBLIC_URL=https://office.example.com
|
|
||||||
# Office → Aether.
|
|
||||||
#
|
|
||||||
# **Bei Collabora die öffentliche Adresse der Cloud**, nicht app:8080: Aus
|
|
||||||
# diesem Wert baut Collabora sein frame-ancestors, und der Browser darf den
|
|
||||||
# Rahmen sonst nicht zeigen ("Framing … violates 'frame-ancestors …'").
|
|
||||||
# Collabora holt die Datei dann über deinen Reverse Proxy.
|
|
||||||
OFFICE_WOPI_URL=https://cloud.example.com
|
|
||||||
# Gegen SSRF: was das Backend anfragen darf. Der Host aus OFFICE_URL zählt
|
|
||||||
# immer dazu.
|
|
||||||
OFFICE_ALLOWED_HOSTS=office
|
|
||||||
# Nur OnlyOffice/Euro-Office, mind. 32 Zeichen: openssl rand -hex 32
|
|
||||||
# Muss mit JWT_SECRET des Office-Containers übereinstimmen. Ohne ihn schlägt
|
|
||||||
# das Wandeln nach PDF fehl (der Server antwortet `{"error":-8}`). Für den
|
|
||||||
# WOPI-Weg wird er nicht gebraucht, der hat eigene Token.
|
|
||||||
OFFICE_JWT_SECRET=
|
OFFICE_JWT_SECRET=
|
||||||
OFFICE_INSECURE_TLS=false # nur für Tests mit selbstsigniertem Zertifikat
|
|
||||||
|
|
||||||
# ══ 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.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { publicApi, type ExternalApp } from '../api/client'
|
|||||||
* fertig werden. Die Komponente bleibt liegen, weil eine gemeinsame Leiste für
|
* fertig werden. Die Komponente bleibt liegen, weil eine gemeinsame Leiste für
|
||||||
* alle Apps noch überlegt wird. Wird sie nirgends importiert, landet sie auch
|
* alle Apps noch überlegt wird. Wird sie nirgends importiert, landet sie auch
|
||||||
* nicht im Bundle. Zum Reaktivieren: in `Sidebar.tsx` neben dem Markenschriftzug
|
* nicht im Bundle. Zum Reaktivieren: in `Sidebar.tsx` neben dem Markenschriftzug
|
||||||
* einsetzen und EXTERNAL_APPS in `deploy/.env` füllen.
|
* einsetzen und EXTERNAL_APPS in `build/.env` füllen.
|
||||||
*
|
*
|
||||||
* Umschalter zu den anderen selbst gehosteten Apps.
|
* Umschalter zu den anderen selbst gehosteten Apps.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in new issue
Block a user