Der Knopf hiess fest "Sign in with SSO / OIDC". Der Anbieter heisst bei jedem anders; "Anmelden mit PocketID" sagt dem, der davorsteht, mehr. Vorgabe unveraendert. Der Wert geht nur ueber /public/config, wenn OIDC ueberhaupt an ist. Beim Testen dabei selbst einen Fehler gebaut und eingefangen: Ein Kommentar hinter einem LEEREN Wert wird in einer .env zum Wert. OIDC_ISSUER= # z. B. https://... startete den OIDC-Aufbau mit dem Kommentartext als Adresse, und der Start brach ab. In deploy/.env.example steckten vier weitere solche Zeilen, darunter OFFICE_PROVIDER= # collabora | onlyoffice - Office waere mit Unsinn als Anbieter eingeschaltet worden. Alle umgestellt, Warnung an den Dateikopf. Dazu im README belegt, was beim Ausschalten der Versionierung passiert: Fassungen bleiben, auch im Papierkorb; erst das Leeren entfernt sie samt Blobs, und zwar sofort statt erst beim GC. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
109 lines
6.1 KiB
Bash
109 lines
6.1 KiB
Bash
# Aether – alle Schalter. cp deploy/.env.example deploy/.env
|
||
#
|
||
# Zwei Fallen beim Bearbeiten:
|
||
# $ im Wert → als $$ schreiben, sonst schneidet Compose ab
|
||
# Kommentar hinter einem LEEREN Wert → der Kommentar wird zum Wert
|
||
# Erklärungen und Fallstricke: README.md, Abschnitt „Einstellungen"
|
||
#
|
||
# Für den reinen Betrieb genügt die kürzere .env.example im
|
||
# Wurzelverzeichnis – hier steht zusätzlich alles Optionale.
|
||
|
||
# ── App ───────────────────────────────────────────────────────────────────────
|
||
APP_ENV=production # development | production
|
||
APP_LISTEN_ADDR=:8080 # im Container; der Proxy leitet hierher
|
||
PUBLIC_URL=https://cloud.example.com
|
||
# IPs/CIDRs der Proxys, denen X-Forwarded-For/-Proto geglaubt wird.
|
||
TRUSTED_PROXIES=172.18.0.1
|
||
|
||
# ── Datenbank ─────────────────────────────────────────────────────────────────
|
||
# 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=changeme_strong_password
|
||
|
||
# ── Sitzung ───────────────────────────────────────────────────────────────────
|
||
SESSION_SECRET=changeme_generate_with_openssl_rand_hex_32 # openssl rand -hex 32
|
||
SESSION_MAX_AGE=86400 # Sekunden
|
||
|
||
# ── Speicher ──────────────────────────────────────────────────────────────────
|
||
STORAGE_PATH=/data # im Container
|
||
TMP_PATH=/data/tmp
|
||
# 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
|
||
# Frühere Fassungen je Datei. Greift nur bei eingeschaltetem „Keep versions".
|
||
MAX_VERSIONS_KEPT=5
|
||
# 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).
|
||
# 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=changeme_strong_admin_password
|
||
|
||
# ── OIDC (optional) ───────────────────────────────────────────────────────────
|
||
# Leerer OIDC_ISSUER = aus. OIDC_REDIRECT_URL muss exakt
|
||
# <PUBLIC_URL>/api/v1/auth/oidc/callback sein und beim Anbieter eingetragen.
|
||
# OIDC_ISSUER=https://your-idp.example.com # Adresse, nicht der Name
|
||
# OIDC_CLIENT_ID=aether
|
||
# OIDC_CLIENT_SECRET=
|
||
# 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=true
|
||
# Beschriftung des Knopfes auf der Anmeldeseite.
|
||
# OIDC_BUTTON_LABEL=Anmelden mit PocketID
|
||
|
||
# ── Volltextsuche (OCR) ───────────────────────────────────────────────────────
|
||
# Standardmäßig an; fehlen ocrmypdf/tesseract, schaltet es sich selbst ab.
|
||
# OCR_ENABLED=false
|
||
# OCR_LANGUAGES=deu+eng # weitere brauchen ein apk-Paket im Dockerfile
|
||
# OCR_MAX_PAGES=50 # 0 = unbegrenzt; rund 1 Minute je Seite
|
||
# OCR_TIMEOUT=10m # Notbremse je Datei
|
||
|
||
# ── App-Umschalter ────────────────────────────────────────────────────────────
|
||
# Andere selbst gehostete Apps im Menü der Seitenleiste.
|
||
# Format: Name|URL|Emoji – mehrere durch Komma. Leer = kein Menü.
|
||
EXTERNAL_APPS=
|
||
|
||
# ── Office (optional) ─────────────────────────────────────────────────────────
|
||
# Leer = aus, auch wenn ein Office-Container läuft. Schnipsel: README.md
|
||
# collabora | onlyoffice (auch Euro-Office)
|
||
OFFICE_PROVIDER=
|
||
# Backend → Office. Collabora lauscht auf 9980, OnlyOffice/Euro-Office auf 80.
|
||
OFFICE_URL=
|
||
# Browser → Office; leer = wie OFFICE_URL
|
||
OFFICE_PUBLIC_URL=
|
||
# Office → Aether; leer = PUBLIC_URL.
|
||
# Weder localhost noch der veröffentlichte Port – beides scheitert.
|
||
OFFICE_WOPI_URL=
|
||
# Gegen SSRF; der Host aus OFFICE_URL zählt immer dazu.
|
||
OFFICE_ALLOWED_HOSTS=
|
||
# Nur OnlyOffice/Euro-Office, mind. 32 Zeichen.
|
||
OFFICE_JWT_SECRET=
|
||
OFFICE_INSECURE_TLS=false # nur für Tests mit selbstsigniertem Zertifikat
|
||
|
||
# Nur für den Collabora-Container aus deploy/docker-compose.yml:
|
||
OFFICE_ALIASGROUP=http://app:8080
|
||
OFFICE_SSL=false
|
||
OFFICE_SSL_TERMINATION=false # true nur, wenn davor wirklich HTTPS endet
|
||
OFFICE_PORT=9980
|
||
|
||
# ── Später ────────────────────────────────────────────────────────────────────
|
||
# MEILISEARCH_URL=http://meilisearch:7700
|
||
# MEILISEARCH_KEY=
|
||
|
||
# ── WebDAV ────────────────────────────────────────────────────────────────────
|
||
# Läuft unter /dav/, kein Schalter nötig. Der Proxy muss
|
||
# PROPFIND/MKCOL/MOVE/COPY durchreichen.
|