Files
d4rk_media/docs/Home.md
T
D4rkst3randClaude Opus 5 66c5de1e31 docs: das Wiki gibt es jetzt -- und es kommt aus docs/
Gitea legt das Wiki-Repo erst mit der ersten Seite an; Klon und Push antworten
davor mit 500, obwohl has_wiki auf true steht. Angelegt ueber die API
(POST /api/v1/repos/<besitzer>/<repo>/wiki/new) -- danach ist es ein
gewoehnliches Git-Repo und laesst sich klonen wie jedes andere.

  https://git.d4rkst3r.de/D4rkst3r/d4rk_media/wiki

DIE QUELLE BLEIBT docs/ IM REPO. Ein Wiki hat keinen Zusammenhang mit dem Code:
niemand sieht, ob die Anleitung noch zu dem passt, was der Dienst tut. Unter
docs/ wandert sie im selben Commit mit der Aenderung, die sie beschreibt.
tools/wiki.ps1 traegt sie danach hinaus -- EINSEITIG, und die Wiki-Seite sagt
das auch: wer dort tippt, verliert es beim naechsten Lauf. Unschoen, aber
ehrlicher als zwei Quellen, die auseinanderlaufen.

Zwei Seiten: Home (Zuschnitt, was der Dienst kann, was zu tun ist, wenn etwas
nicht geht) und API (Endpunkte, Kopfzeilen, Fehlerantworten, Grenzen -- und die
beiden Proxy-Fallen von heute).

Nachgemessen: beide Seiten sind ohne Anmeldung lesbar (200), ein zweiter Lauf
des Skripts erkennt "bereits aktuell", und eine Aenderung kommt an.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 20:09:35 +02:00

2.6 KiB

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 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, 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.