Das Wurzel-Beispiel enthielt keinen einzigen OIDC-Schlüssel – wer sich über PocketID anmelden will, fand nirgends, wohin damit. Jetzt drin, samt der Warnung zu OIDC_LINK_BY_USERNAME: vor der ersten Anmeldung setzen, danach existiert das zweite Konto schon. Der Office-Container ist aus dem Beispiel raus. Es gibt drei zur Auswahl, jeder bringt eigene Variablen mit, und man will genau einen – sie stehen jetzt als anhängbare Schnipsel im README (Collabora, OnlyOffice, Euro-Office). Alle drei gegen das Beispiel geprüft: docker compose config läuft durch. Euro-Office (seit 09.06.2026, in Nextcloud Hub 26) ist ein OnlyOffice-Fork und läuft über denselben Adapter – OFFICE_PROVIDER bleibt onlyoffice, nur ein anderes Abbild. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
81 lines
3.6 KiB
Bash
81 lines
3.6 KiB
Bash
# Aether – das Nötigste für eine neue Umgebung.
|
||
#
|
||
# cp .env.example .env
|
||
#
|
||
# Vollständige Liste aller Schalter (OIDC, OCR, Thumbnails, Kontingente …):
|
||
# deploy/.env.example
|
||
|
||
# ── Pflicht ───────────────────────────────────────────────────────────────────
|
||
|
||
# Wie die Cloud von außen erreichbar ist. Wird für OIDC-Rücksprünge,
|
||
# WOPI-Rückrufe und Freigabe-Links benutzt – ein falscher Wert fällt erst
|
||
# dort auf, nicht beim Start.
|
||
PUBLIC_URL=https://cloud.example.com
|
||
|
||
# openssl rand -hex 32
|
||
SESSION_SECRET=
|
||
|
||
DB_NAME=aether
|
||
DB_USER=aether
|
||
DB_PASSWORD=
|
||
|
||
# Wohin die Dateien auf dem Wirt kommen. Ein gewöhnliches Verzeichnis, kein
|
||
# Docker-Volume – so kommst du per SFTP oder Dateimanager daran.
|
||
DATA_PATH=/pfad/zu/aether-data
|
||
|
||
# `id -u` und `id -g`. Ohne das gehören die Dateien einem Container-Nutzer.
|
||
APP_UID=1000
|
||
APP_GID=1000
|
||
|
||
# ── Reverse Proxy ─────────────────────────────────────────────────────────────
|
||
|
||
# X-Forwarded-For/-Proto werden NUR von diesen Adressen geglaubt. Steht hier
|
||
# das Falsche, sieht die Anwendung überall die IP des Proxys – Rate-Limit und
|
||
# Audit-Log werden damit wertlos.
|
||
TRUSTED_PROXIES=172.18.0.1
|
||
|
||
# Port auf dem Wirt, gebunden auf loopback. Im Container bleibt es 8080.
|
||
APP_PORT=8080
|
||
|
||
# ── Erster Start ──────────────────────────────────────────────────────────────
|
||
|
||
# Legt beim allerersten Start den Admin an. Danach hier leeren – das Konto
|
||
# bleibt, das Passwort steht sonst dauerhaft in der Datei.
|
||
ADMIN_USERNAME=admin
|
||
ADMIN_PASSWORD=
|
||
|
||
# ── Anmeldung über einen Identitätsanbieter (optional) ───────────────────────
|
||
# Leerer OIDC_ISSUER = aus, dann nur Benutzername + Passwort.
|
||
# Die Rücksprung-Adresse muss exakt <PUBLIC_URL>/api/v1/auth/oidc/callback sein
|
||
# und beim Anbieter als erlaubte Redirect-URI eingetragen werden.
|
||
OIDC_ISSUER=
|
||
OIDC_CLIENT_ID=aether
|
||
OIDC_CLIENT_SECRET=
|
||
OIDC_REDIRECT_URL=https://cloud.example.com/api/v1/auth/oidc/callback
|
||
|
||
# Bestehendes Konto mit derselben Kennung verbinden, statt ein zweites
|
||
# anzulegen. **Vor der ersten Anmeldung setzen** – danach existiert das zweite
|
||
# Konto ("marc2", leer, ohne Adminrecht) schon, und das Verbinden kommt zu spät.
|
||
#
|
||
# Nur bei einem eigenen Anbieter (PocketID, Authentik), dessen Konten du selbst
|
||
# anlegst. Bei freier Registrierung wäre es die Übernahme fremder Konten.
|
||
OIDC_LINK_BY_USERNAME=false
|
||
|
||
# ── Office (optional) ─────────────────────────────────────────────────────────
|
||
# Leer lassen = aus. Den passenden Container-Schnipsel (Collabora, OnlyOffice
|
||
# oder Euro-Office) findest du im README – er bringt seine eigenen Variablen
|
||
# mit. Hier steht nur, was Aether selbst wissen muss.
|
||
#
|
||
# Drei Adressen für drei Richtungen, und sie sind selten gleich:
|
||
# OFFICE_URL Backend → Office-Server
|
||
# OFFICE_PUBLIC_URL Browser → Office-Server
|
||
# OFFICE_WOPI_URL Office-Server → Aether (NICHT localhost – aus seinem
|
||
# Container heraus ist das er selbst)
|
||
OFFICE_PROVIDER=
|
||
OFFICE_URL=http://office:9980
|
||
OFFICE_PUBLIC_URL=https://office.example.com
|
||
OFFICE_WOPI_URL=http://app:8080
|
||
|
||
# Ziele, die das Backend anfragen darf – gegen SSRF. Nur der Office-Server.
|
||
OFFICE_ALLOWED_HOSTS=office
|