docs: Stand nach dem Smoke-Test, und der Stolperstein beim lokalen Start

Der Durchstich steht: anmelden, Token anlegen, Bild hochladen, unter der
zurueckgegebenen URL abrufen -- Byte fuer Byte identisch, auch unter dem
Dateihost.

server/.env.example ist die Datei, die .gitignore ohnehin schon erwartet
hat. Wichtigster Eintrag darin ist FILES_HOST: ohne ihn nimmt der Dienst
den Host aus PUBLIC_URL, lokal also localhost. Dann gilt jede Anfrage als
Anfrage an den Dateiwirt, und dort gibt es absichtlich weder Dashboard
noch API -- /health antwortet 404, die Anmeldung 405 "hier gibt es nur
Dateien". Nichts ist kaputt, der Dienst tut genau das, was er soll, nur
eben unter dem einen Namen, den man lokal hat. In Produktion sind es zwei
verschiedene Namen und der Standard stimmt.

Das dev-Skript liest die .env jetzt mit --env-file (funktioniert unter
tsx, nachgeprueft).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 15:39:46 +02:00
co-authored by Claude Opus 5
parent cfd0f0747a
commit e173c3bf7b
3 changed files with 110 additions and 6 deletions
+43
View File
@@ -0,0 +1,43 @@
# Kopieren nach server/.env, dann `npm run dev`.
#
# Ohne PUBLIC_URL und ADMIN_PASSWORD startet der Dienst nicht — das ist
# Absicht, siehe config.ts.
# Unter welcher Adresse die Dateien oeffentlich stehen. Daraus wird die URL
# gebaut, die nach dem Upload zurueckkommt. Ohne abschliessenden Schraegstrich.
PUBLIC_URL=http://localhost:8080/f
# DER STOLPERSTEIN BEIM LOKALEN START.
#
# Ohne diese Zeile nimmt der Dienst den Host aus PUBLIC_URL — lokal also
# "localhost". Dann gilt jede Anfrage als Anfrage an den Dateiwirt, und dort
# gibt es absichtlich weder Dashboard noch API: /health antwortet 404, die
# Anmeldung 405 "hier gibt es nur Dateien". Nichts ist kaputt, der Dienst tut
# genau das, was er soll — nur eben unter dem einen Namen, den man lokal hat.
#
# In Produktion sind es zwei verschiedene Namen und der Standard stimmt:
# PUBLIC_URL=https://fivecdn.d4rkst3r.de
# FILES_HOST=fivecdn.d4rkst3r.de (Dashboard: fivemanage.d4rkst3r.de)
#
# Lokal deshalb ein Name, den niemand aufruft — dann bleibt localhost fuer
# Dashboard und API frei. Zum Testen des Dateiwirts:
# curl -H "Host: files.localhost" http://localhost:8080/vehicles/adder.webp
FILES_HOST=files.localhost
# Wird beim ERSTEN Start angelegt. Ein spaeter geaendertes Passwort setzt das
# bestehende nicht zurueck.
ADMIN_PASSWORD=bitte-aendern
ADMIN_USERNAME=admin
PORT=8080
# Ein Ordner fuer Bilder UND media.db — eine Sicherung ist damit ein cp -a.
# Relativ zum Arbeitsverzeichnis; im Abbild spaeter /data.
DATA_DIR=./data
# Groesste erlaubte Datei in MB. Ein freigestelltes Fahrzeugbild wiegt rund
# 200 KB.
MAX_UPLOAD_MB=64
# Wie lange eine Anmeldung im Dashboard haelt.
SESSION_DAYS=30