docs: Doku nach fuenf Runden aufraeumen

Nach dem Hin und Her um Profile, Ports und Escaping war Sediment
liegengeblieben:

- README: "Drei Adressen fuer drei Richtungen" stand zweimal; die
  Profil-Erklaerung war eine Chronik ("das war nicht immer so") statt
  einer Anleitung. Jetzt ein Absatz.
- .env.example (beide): der Office-Block begann mit einem Hinweis auf
  COMPOSE_PROFILES, den man nur braucht, wenn man selbst ein Profil
  anlegt - als erste Zeile eines Abschnitts unbrauchbar. Raus.
- TESTING: der grosse Office-Abschnitt behauptete noch "Getestet mit
  Collabora im Compose-Profil office" und pruefte "ohne --profile startet
  der Container nicht". Beides ueberholt.
- Umlaute vereinheitlicht (laeuft neben gehoert), $-Hinweis von vier auf
  zwei Zeilen.

Dazu zwei neue Zeilen in der Fehlertabelle des README: Container entsteht
gar nicht (Profil) und Container laeuft, aber kein Menuepunkt (leerer
OFFICE_PROVIDER oder falscher Port).

Geprueft: beide Compose-Dateien gueltig, jeder Schluessel aus dem Code
steht in deploy/.env.example, keine doppelten Absaetze mehr.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Opus 5 committed 2026-08-24 12:27:19 +02:00
1 parent 9f5b003177
commit 7fc8bb51d5
5 files changed
+49 -67

No files matched your search

+15 -24
View File
@@ -430,32 +430,21 @@ Schnipsel und häng ihn an dein `docker-compose.yml`.
| `OFFICE_WOPI_URL` | wo der **Office-Server** Aether erreicht (leer = `PUBLIC_URL`) |
| `OFFICE_ALLOWED_HOSTS` | Ziele, die das Backend anfragen darf – gegen SSRF |
**Drei Adressen für drei Richtungen.** Das wirkt übertrieben, bis man es einmal
aufgebaut hat: Im Compose-Netz heißt der Office-Server `collabora`, im Browser
muss dort ein auflösbarer Name stehen, und der Office-Server wiederum erreicht
Aether unter `app:8080` – „localhost" ist aus seinem Container heraus er selbst.
**Drei Adressen für drei Richtungen** – die häufigste Fehlerquelle beim
Aufbau. Im Compose-Netz heißt der Server `office`, der Browser braucht dort
einen Namen, den *er* auflösen kann (deine Domain oder LAN-IP), und der
Office-Server erreicht Aether unter `app:8080`: „localhost" ist aus seinem
Container heraus er selbst.
**Drei Adressen für drei Richtungen.** Das wirkt übertrieben, bis man es einmal
aufgebaut hat – die häufigste Fehlerquelle beim Aufbau.
Der Port unterscheidet sich je nach Anbieter: **Collabora lauscht auf 9980,
OnlyOffice und Euro-Office auf 80.**
Die Schnipsel unten starten **sofort** mit `docker compose up -d`. Das war
nicht immer so: Anfangs stand in jedem `profiles: ["office"]`, damit der
Container nur auf Wunsch läuft. Ein Dienst in einem Profil startet aber nur
mit `--profile office` – und in einer Oberfläche wie Portainer, Dockge oder
Komodo gibt es diesen Schalter nicht. Der Container entstand dort nie, ohne
eine einzige Fehlermeldung. Eine Voreinstellung, bei der das Einfügen des
Schnipsels nichts bewirkt, ist die falsche.
Wer ihn dennoch wahlweise an- und ausschalten will, hängt die Zeile selbst an
den Dienst:
```yaml
profiles: ["office"]
```
Dann startet er nur mit `docker compose --profile office up -d` – oder mit
`COMPOSE_PROFILES=office` in der `.env`, was auch ohne Kommandozeile wirkt
(gemessen). Zum Ausschalten reicht sonst `docker compose stop office`.
Die Schnipsel unten starten sofort mit `docker compose up -d`. Zum Abschalten
`docker compose stop office`. Wer den Container lieber ganz aus der normalen
Startfolge nimmt, hängt `profiles: ["office"]` an den Dienst – dann braucht es
`--profile office` oder `COMPOSE_PROFILES=office` in der `.env`. **Vorsicht:**
Oberflächen wie Portainer, Dockge oder Komodo kennen `--profile` nicht; dort
entsteht der Container dann nie, ohne jede Fehlermeldung.
### Schnipsel 1: Collabora
@@ -611,6 +600,8 @@ Alles hier ist beim Testen tatsächlich passiert, in dieser Reihenfolge:
| Symptom | Ursache |
|---|---|
| Der Container entsteht gar nicht, ohne Fehlermeldung | Ein `profiles:` am Dienst. Startet nur mit `--profile office`, und Oberflächen wie Portainer kennen den Schalter nicht. Die Schnipsel oben haben deshalb keins. |
| Container läuft, aber kein „Edit in Office…" im Menü | `OFFICE_PROVIDER` ist leer – oder `OFFICE_URL` nennt den falschen Port (Collabora 9980, OnlyOffice/Euro-Office 80). Ohne Antwort auf `/hosting/discovery` bleibt der Punkt weg. |
| Rahmen bleibt leer, Konsole: *„Framing … violates default-src 'self'"* | Unsere eigene Sicherheitsrichtlinie. `frame-src` fällt auf `default-src` zurück; der Office-Ursprung muss ausdrücklich erlaubt sein. Passiert automatisch, sobald `OFFICE_PROVIDER` gesetzt ist. |
| Editor lädt, Dokument bleibt weiß | `ssl.termination=true` ohne HTTPS davor. Collabora sagt dem Browser dann `wss://`, das es nicht gibt. Im HTTP-Test `OFFICE_SSL_TERMINATION=false`. |
| Log: *„CheckFileInfo returned 0 … ECONNREFUSED"* | `OFFICE_WOPI_URL` zeigt auf `127.0.0.1:8090`. Der Port ist auf loopback gebunden – aus einem Container nicht erreichbar. Im Compose den Dienstnamen nehmen. |