diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..768a09d --- /dev/null +++ b/Home.md @@ -0,0 +1,67 @@ +# d4rk_media + +Eigener Medien-Dienst für alle FiveM-Ressourcen: Dateien annehmen, ablegen, +ausliefern, in einem Dashboard verwalten. + +**Läuft unter** https://fivemanage.d4rkst3r.de — Dashboard und API an der +Wurzel, Dateien unter `/f/`. + +--- + +## Wo was steht + +| | | +|---|---| +| **[API](API)** | Endpunkte, Kopfzeilen, Fehlermeldungen, Grenzen — und was beim Anbinden schiefgeht | +| `ROADMAP.md` im Repo | Zuschnitt, Stand, Reihenfolge, offene Entscheidungen | +| `CLAUDE.md` im Repo | die Arbeitsweise: prüfen statt raten | + +Das Warum einer Änderung steht in der Commit-Nachricht, nicht nur im Diff. + +--- + +## Der Zuschnitt in vier Sätzen + +**Ein Container.** SQLite statt PostgreSQL, Dateien auf einer Platte statt +MinIO. Das ist nicht die kleine Lösung, sondern die, die man nicht pflegt. + +**Der Pfad ist der Schlüssel.** `vehicles/adder.webp` bleibt +`vehicles/adder.webp`, damit die Vorlage im Handy `{model}.webp` lauten kann. +Die Adressen stehen nirgends in der Datenbank — sie werden bei jeder Antwort +neu gebaut. + +**Jeder Knopf gibt Rückmeldung, auch der erfolgreiche.** Das ist der Fehler, an +dem der Fivemanage-Anlauf gescheitert ist: ein Knopf ohne Antwort sieht aus wie +ein kaputter Knopf, und das Ergebnis waren neunzehn gleichnamige +Organisationen. + +**Nicht nachgebaut wird das Logging.** Dafür schleppt Fivemanage ClickHouse +mit, und genau da ist der Wartungsaufwand echt. + +--- + +## Was der Dienst kann + +- **Hochladen** über die Skript-API (Token) oder aus dem Dashboard (Sitzung) — + Bilder, Videos, Ton, PDF +- **Ausliefern** mit ETag, Bereichsanfragen und Vorschaubildern +- **Galerie** mit Ordnerbaum, Suche, Filter nach Medienart, Sortierung, + Mehrfachauswahl, Verschieben und Löschen +- **Verlauf**: wer hat wann was abgelegt, ersetzt, verschoben oder gelöscht +- **Anmeldung** über Discord (Rolle auf dem Server) oder Passwort +- **Sicherung** täglich, geprüft, in die Nextcloud + +--- + +## Wenn etwas nicht geht + +1. **Ein Bild ändert sich nicht.** Der Proxy hielt Bilder früher 30 Minuten + fest. Behoben — siehe [API](API), Abschnitt *Zwischenspeicher des Proxys*. +2. **Die Anmeldung sagt 200, aber man ist nicht angemeldet.** `NODE_ENV=production` + setzt das Cookie auf `Secure`; über eine nackte `http`-Adresse verwirft der + Browser es still. Über den Proxy mit TLS gibt es das Problem nicht. +3. **Ein Upload gibt 400 mit „ist als Pfadteil nicht erlaubt".** Jeder Teil + eines Pfades muss mit einem Buchstaben oder einer Ziffer beginnen. Ein + führender Unterstrich fällt durch. +4. **Ein Fehler ohne Text.** Sollte es nicht mehr geben: der Dienst hat eine + Auffanglinie, die auch bei unerwarteten Fehlern einen Satz mitgibt.