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>
70 lines
3.2 KiB
Bash
70 lines
3.2 KiB
Bash
# Aether – das Nötigste für eine neue Umgebung. cp .env.example .env
|
||
# Erklärungen: README.md, Abschnitt „Einstellungen"
|
||
# Alle Schalter: deploy/.env.example
|
||
|
||
# ── Pflicht ───────────────────────────────────────────────────────────────────
|
||
APP_ENV=production
|
||
# Adresse, unter der der Browser die Cloud sieht. Ohne Schrägstrich am Ende.
|
||
PUBLIC_URL=https://cloud.example.com
|
||
# openssl rand -hex 32
|
||
SESSION_SECRET=
|
||
|
||
# DB_HOST ist der Dienstname aus dem Compose, nicht localhost.
|
||
DB_HOST=postgres
|
||
DB_PORT=5432
|
||
DB_NAME=aether
|
||
DB_USER=aether
|
||
# Jedes Zeichen erlaubt – nur ein $ muss $$ heißen oder der Wert in
|
||
# 'einfache Anführungszeichen'. Sonst schneidet Compose lautlos ab. (README)
|
||
DB_PASSWORD=
|
||
|
||
# Verzeichnis auf dem Wirt. Nur lesend anfassen – zum Hineinlegen: WebDAV.
|
||
DATA_PATH=/pfad/zu/aether-data
|
||
# `id -u` / `id -g` – sonst gehören die Dateien einem Container-Nutzer.
|
||
APP_UID=1000
|
||
APP_GID=1000
|
||
|
||
# ── Reverse Proxy ─────────────────────────────────────────────────────────────
|
||
# Nur diesen Adressen wird X-Forwarded-For/-Proto geglaubt.
|
||
TRUSTED_PROXIES=172.18.0.1
|
||
# Port auf dem Wirt. Im Container bleibt es 8080.
|
||
APP_PORT=8080
|
||
# Wer den Port erreichen darf. 127.0.0.1 = nur dieser Rechner (Vorgabe,
|
||
# davor gehört der Proxy). 0.0.0.0 = das ganze Netz – dann unverschlüsselt.
|
||
APP_BIND=127.0.0.1
|
||
|
||
# ── Erster Start ──────────────────────────────────────────────────────────────
|
||
# Legt den Admin an. Danach ADMIN_PASSWORD leeren.
|
||
# Auch hier: ein $ muss $$ heißen (siehe DB_PASSWORD).
|
||
ADMIN_USERNAME=admin
|
||
ADMIN_PASSWORD=
|
||
|
||
# ── Anmeldung über einen Identitätsanbieter (optional) ───────────────────────
|
||
# Leerer OIDC_ISSUER = aus.
|
||
OIDC_ISSUER=
|
||
OIDC_CLIENT_ID=aether
|
||
OIDC_CLIENT_SECRET=
|
||
# Muss exakt <PUBLIC_URL>/api/v1/auth/oidc/callback sein.
|
||
OIDC_REDIRECT_URL=https://cloud.example.com/api/v1/auth/oidc/callback
|
||
# Bestehendes Konto verbinden statt ein zweites anzulegen.
|
||
# VOR der ersten Anmeldung setzen – danach ist es zu spät.
|
||
OIDC_LINK_BY_USERNAME=false
|
||
|
||
# ── Office (optional) ─────────────────────────────────────────────────────────
|
||
# Leer = aus, auch wenn ein Office-Container läuft.
|
||
# Schnipsel für Collabora, OnlyOffice und Euro-Office: README.md
|
||
OFFICE_PROVIDER=
|
||
|
||
# Backend → Office. Port je nach Anbieter:
|
||
# Collabora http://office:9980
|
||
# OnlyOffice/Euro-Office http://office
|
||
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. Weder localhost noch der veröffentlichte Port.
|
||
OFFICE_WOPI_URL=http://app:8080
|
||
# Gegen SSRF: was das Backend anfragen darf.
|
||
OFFICE_ALLOWED_HOSTS=office
|
||
# Nur OnlyOffice/Euro-Office, mind. 32 Zeichen: openssl rand -hex 32
|
||
OFFICE_JWT_SECRET=
|