Files
D4rkst3randClaude Opus 5 463a821199 feat: der Dienst heisst media.d4rkst3r.de -- beide Namen liefern weiter aus
PUBLIC_URL umgestellt. FILES_HOST ist leer, der Dienst achtet also gar nicht
auf den Hostnamen, und in NPM stehen beide auf DEMSELBEN Host -- die drei
^~-Bloecke gelten damit fuer beide. Nachgemessen: unter beiden Namen health 200
und dasselbe Bild, bytegleich.

Nachgezogen:

    7 Stellen in den Ressourcen   d4rk_phone/config.lua (2)
                                  d4rk_photostudio/config.upload.lua
                                  d4rk_photostudio/config.upload.example.lua (2)
                                  d4rk_photostudio/settings.json (2)
    2 Watchdog-Eintraege im Bot   inklusive Anzeigename
   16 Stellen in Doku/Werkzeugen  README, docs/API.md, Home.md,
                                  npm-advanced.conf, proxy-pruefen.ps1,
                                  uebernehmen.ps1, .env.example

Die Freigabe-Links zeigen von selbst auf den neuen Namen -- sie werden aus
PUBLIC_URL gebaut und stehen nirgends gespeichert. Die alten funktionieren
weiter.

DIE ROADMAP BEHAELT DEN ALTEN NAMEN, an sechzehn Stellen und mit Absicht: dort
steht die Geschichte, warum er ueberhaupt "fivemanage" hiess. Sie zu ersetzen
machte aus einer Begruendung Unsinn.

ZWEI DINGE, DIE DABEI AUFFIELEN.

Cloudflare stand vor dem neuen Namen und brach die WebP-Auslieferung: der
Cache-Schluessel kennt Accept nicht, also bekam ein Aufrufer OHNE
"Accept: image/webp" die WebP-Fassung aus dem Zwischenspeicher -- unsere
eigenen Bytes unter einem .png-Namen. Nach dem Umstellen auf DNS-only gemessen
und in Ordnung: ohne Accept image/png 12295 B, mit Accept image/webp 2270 B,
Server: openresty, vary: Accept, dreimal hintereinander stabil.

Und der Lua-Syntaxtest schlug bei d4rk_phone/config.lua fehl -- an Zeile 93,
`customModel = \`prop_player_phone_02\``. Das ist kein Schaden, sondern eine
CfxLua-Erweiterung: Backticks sind dort ein joaat-Hash und in Standard-Lua 5.4
ein Syntaxfehler. 85 davon stecken in der Datei. luac -p taugt fuer
CfxLua-Dateien also nicht; geprueft wurde stattdessen, dass genau die zwei
URL-Zeilen anders sind.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 01:02:28 +02:00

75 lines
3.0 KiB
Bash

# d4rk_media — die Werte fuer den Betrieb.
#
# Diese Datei ist die VORLAGE. Kopiere sie nach .env und trag echte Werte ein;
# .env selbst gehoert nicht ins Repo (siehe .gitignore).
#
# In Portainer traegst du dieselben Werte als STACK-VARIABLEN ein — dann
# braucht es die Datei dort gar nicht.
#
# Nur zwei sind Pflicht. Der Rest hat brauchbare Standards, und der Dienst
# BRICHT AB, wenn eine der beiden fehlt: einer, der ohne Konfiguration
# hochfaehrt, kostet mehr Zeit als einer, der sich weigert.
# ------------------------------------------------------------------- Pflicht
# Der Ursprung, unter dem der Dienst oeffentlich steht — 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.
PUBLIC_URL=https://media.d4rkst3r.de
# Wird beim ERSTEN Start als Benutzer "admin" angelegt. Ein spaeter geaenderter
# Wert setzt das bestehende Passwort NICHT zurueck.
#
# openssl rand -base64 24
ADMIN_PASSWORD=
# ------------------------------------------------------------------ Optional
# Der Name des Benutzers, der beim ersten Start entsteht.
#ADMIN_USERNAME=admin
# Host-Port. Auf diesem Server zeigt der NPM-Eintrag auf 9101.
#
# Belegt sind hier 80, 81, 443, 2224, 3000, 3080, 3478, 8000, 8080, 8443, 8090,
# 9000, 9443, 11000. Nur die LINKE Zahl einer Portabbildung muss einmalig sein.
#HOST_PORT=9101
# An welche Adresse der Port gebunden wird.
#
# 0.0.0.0 und NICHT 127.0.0.1: der Reverse Proxy kommt ueber die Docker-Bruecke
# herein, nicht ueber Loopback. Ein an 127.0.0.1 gebundener Port naehme die
# Anfrage nicht an. Zu macht ihn die Firewall, nicht die Bindung.
#BIND_ADDR=0.0.0.0
# ZWEI NAMEN statt einem: hier den Hostnamen eintragen, unter dem es dann
# ausschliesslich Dateien gibt — kein Dashboard, keine API, nichts anzumelden.
# Die URLs kommen dann ohne /f/ aus, und PUBLIC_URL ist der Datei-Name. Beide
# Namen muessen im Proxy auf diesen Port zeigen.
#
# Leer (Standard) heisst: EIN Name, Dateien unter /f/.
#FILES_HOST=
# Groesste erlaubte Datei. Ein freigestelltes Fahrzeugbild wiegt rund 130 KB;
# 64 MB lassen Luft fuer Videos, ohne dass ein Fehlgriff die Platte fuellt.
#
# Je Token laesst sich das im Dashboard weiter einschraenken.
#MAX_UPLOAD_MB=64
# Wie lange eine Anmeldung im Dashboard haelt.
#SESSION_DAYS=30
# ------------------------------------------------------------------- Hinweis
#
# NODE_ENV steht fest auf "production" im Compose und setzt das Sitzungs-Cookie
# auf Secure. Hinter dem Proxy mit TLS ist das richtig.
#
# WER OHNE HTTPS AUSPROBIERT, SPERRT SICH AUS: die Anmeldung antwortet mit 200,
# der Browser verwirft das Cookie still, und die naechste Anfrage ist 401. Die
# naheliegende Gegenprobe ueber http://localhost fuehrt in die Irre — das gilt
# Browsern als sicherer Kontext und funktioniert.
#
# Discord-Anmeldung, Sicherung und Meldungen stehen NICHT hier, sondern im
# Dashboard unter Einstellungen.