Files
Aether/.env.example
T
HoneyandClaude Opus 5 13681958dd 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>
2026-08-24 09:33:20 +02:00

67 lines
2.8 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
#
# 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