docs(deploy): schlankes Compose-Beispiel im Wurzelverzeichnis
Das Compose in deploy/ war zu über der Hälfte Kommentar (73 von 137
Zeilen) und mischte zwei Zwecke. Jetzt getrennt:
Wurzel docker-compose.example.yml + .env.example – betreiben,
zieht das fertige Abbild, braucht keinen Quelltext
deploy/ docker-compose.yml + .env.example – entwickeln,
baut aus dem Quelltext, kennt alle Schalter
Die schlanke .env.example führt nur die Pflichtwerte und Office; die
vollständige Liste mit Erklärungen bleibt in deploy/.env.example.
Die kopierte /docker-compose.yml ist ignoriert – sie gehört in die
Umgebung, nicht ins Repo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
62e80dd2f5
commit
13681958dd
5 files changed
+228
-105
No files matched your search
@@ -0,0 +1,66 @@
|
||||
# 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=
|
||||
|
||||
# ── Office (optional) ─────────────────────────────────────────────────────────
|
||||
# Leer lassen = aus. Sonst `docker compose --profile office up -d`.
|
||||
#
|
||||
# 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://collabora:9980
|
||||
OFFICE_PUBLIC_URL=https://office.example.com
|
||||
OFFICE_WOPI_URL=http://app:8080
|
||||
# Ziele, die das Backend anfragen darf – gegen SSRF.
|
||||
OFFICE_ALLOWED_HOSTS=collabora
|
||||
OFFICE_ALIASGROUP=http://app:8080
|
||||
|
||||
# Hinter deinem Reverse Proxy mit HTTPS: beide auf true.
|
||||
OFFICE_SSL=false
|
||||
OFFICE_SSL_TERMINATION=true
|
||||
OFFICE_PORT=9980
|
||||
Reference in new issue
Block a user