Files
Aether/.env.example
T
HoneyandClaude Opus 5 218b238afc fix(admin): Laenge des Seed-Passworts loggen, $-Falle dokumentieren
Ein $ im Wert wird von Docker Compose als Variable gelesen und schneidet
ab: Sicher$Passwort2026 kommt als Sicher an (gemessen). Angelegt wird ein
Konto mit einem Passwort, das niemand kennt; die Anmeldung scheitert mit
'invalid credentials', obwohl alles richtig eingetippt ist. Die Datenbank
laeuft dabei weiter, weil Postgres denselben abgeschnittenen Wert bekommt.

Der Start nennt jetzt die Laenge des Passworts (nicht den Wert) und warnt
unter 12 Zeichen mit dem Hinweis auf $$. Ohne diese Zahl war der Fehler
von aussen nicht zu sehen: Compose meldet zwar 'variable is not set', aber
auf stderr beim up, nicht im Container-Log.

Escape-Tabelle in README und beiden .env.example. Ein Backslash hilft
nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 11:54:43 +02:00

66 lines
3.0 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, auch % @ : / und Leerzeichen.
# Ein $ im Wert wird von Docker Compose als Variable gelesen und schneidet
# lautlos ab: geheim$wort kommt als geheim an. Als $$ schreiben oder den
# ganzen Wert in 'einfache Anfuehrungszeichen' setzen. Ein \ hilft NICHT.
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 $$ heissen (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. Container-Schnipsel: README.md
OFFICE_PROVIDER=
# Backend → Office
OFFICE_URL=http://office:9980
# Browser → Office
OFFICE_PUBLIC_URL=https://office.example.com
# Office → Aether. NICHT localhost, NICHT der veröffentlichte Port.
OFFICE_WOPI_URL=http://app:8080
# Gegen SSRF: was das Backend anfragen darf.
OFFICE_ALLOWED_HOSTS=office