fivecdn.d4rkst3r.de und fivemanage.d4rkst3r.de fallen weg -- wir betreiben kein Fivemanage, also tragen unsere Adressen auch nicht dessen Namen. Dashboard und API liegen an der Wurzel, die Dateien unter /f/. Der Ein-Namen-Betrieb war bis jetzt nicht ausdrueckbar. Der Kommentar in config.ts versprach "leer lassen, wenn alles unter einem Namen laufen soll", aber optional() faellt bei leerem Wert auf den Host aus PUBLIC_URL zurueck -- und dann gilt JEDE Anfrage als Anfrage an den Dateiwirt: kein Dashboard, keine API, /health gibt 404 und die Anmeldung 405 "hier gibt es nur Dateien". Nichts ist kaputt, und niemand kommt darauf. Deshalb ist der Ein-Namen-Betrieb jetzt der Standard und der zweite Name die Ansage. PUBLIC_URL ist nur noch der Ursprung; das /f haengt der Dienst selbst an. Wer es mitschriebe, bekaeme Adressen mit /f/f/, und das faellt erst auf, wenn das erste Bild fehlt. Praefix und Route haengen jetzt an derselben Stelle (config.filePrefix), damit die zurueckgegebene Adresse und die Route, die sie ausliefert, nicht auseinanderlaufen koennen. Beide Betriebsarten durchgemessen: mit einem Namen kommt .../f/vehicles/adder.png zurueck und liefert die Datei; mit gesetztem FILES_HOST kommt sie ohne Praefix, liegt unter dem Dateihost, ist am Dashboard-Namen zusaetzlich unter /f/ erreichbar, und unter dem Dateihost gibt es weiterhin keine API. Welche Betriebsart laeuft, sagt der Dienst in der zweiten Startzeile. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
50 lines
1.8 KiB
Bash
50 lines
1.8 KiB
Bash
# 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 der Dienst oeffentlich steht. NUR der Ursprung, ohne
|
|
# Pfad und ohne abschliessenden Schraegstrich.
|
|
#
|
|
# Das /f/ haengt der Dienst selbst an. Wer es hier mitschreibt, bekommt
|
|
# Adressen mit /f/f/ — und das faellt erst auf, wenn das erste Bild fehlt.
|
|
#
|
|
# In Produktion also: PUBLIC_URL=https://media.d4rkst3r.de
|
|
PUBLIC_URL=http://localhost:8080
|
|
|
|
# EIN NAME ODER ZWEI.
|
|
#
|
|
# Leer lassen (Standard) heisst EIN Name: Dashboard und API an der Wurzel,
|
|
# Dateien unter /f/. Die zurueckgegebene Adresse lautet dann
|
|
# https://media.d4rkst3r.de/f/vehicles/adder.webp. Ein DNS-Eintrag, ein Host
|
|
# im Proxy — dafuer traegt die oeffentliche Adresse auch das Anmeldeformular.
|
|
#
|
|
# Wer hier einen Hostnamen eintraegt, bekommt ZWEI Namen: unter diesem gibt es
|
|
# dann ausschliesslich Dateien, kein Dashboard, keine API, nichts anzumelden.
|
|
# Die URLs kommen ohne /f/ aus, und der Name, den jeder Spieler kennt, hat
|
|
# keine Angriffsflaeche. Beide Namen muessen im Proxy auf denselben Port
|
|
# zeigen; PUBLIC_URL ist dann der Datei-Name:
|
|
# PUBLIC_URL=https://cdn.d4rkst3r.de
|
|
# FILES_HOST=cdn.d4rkst3r.de
|
|
#
|
|
# Welche Betriebsart laeuft, sagt der Dienst beim Start.
|
|
FILES_HOST=
|
|
|
|
# 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
|