Medien-Stack: Fivemanage Lite mit MySQL und MinIO

Ein Ablageort fuer alle Resourcen statt Nextcloud plus rclone von Hand. Der
Unterschied ist nicht der Speicher — den gibt es schon — sondern ein
Schreibweg ueber HTTP: sobald ein Script hochladen soll, fehlt er, und Lite
bringt ihn mit, samt Token je Resource und einer Oberflaeche zum Nachsehen.

Zusammengestellt aus fivemanage/lite: dessen README, der
deployments/docker-compose.yml (Entwicklung, startet die App gar nicht) und der
deployments/docker-compose.test.yml (zeigt die App-Verdrahtung und dass MySQL
genuegt und ClickHouse nicht Pflicht ist).

Zwei Fassungen, und der Unterschied ist Absicht:

  docker-compose.yml         fuer den Betrieb ueber Portainer aus diesem Repo.
                             Keine offenen Ports, nur der Reverse Proxy
                             spricht mit der App.
  docker-compose.local.yml   zum Ausprobieren auf Docker Desktop. Ports offen,
                             kein Proxy. Eine beta.23 gehoert erst auf einen
                             Rechner, an dem nichts haengt.

Ohne ClickHouse und Jaeger: beides ist Logging und Tracing, fuer das Ablegen
von Bildern nicht noetig, und ClickHouse ist eine schwere Abhaengigkeit.

Ein Init-Container legt den Bucket an und stellt ihn auf oeffentlich lesbar.
Ohne diesen Schritt schlaegt der erste Upload fehl, und die Meldung nennt den
Grund nicht.

Healthchecks mit depends_on/condition, sonst startet die App gegen eine
Datenbank, die noch nicht antwortet, und beendet sich — beim ersten Hochfahren
jedes Mal.

NICHT laufen gelassen: Docker war von hier nicht erreichbar. Das YAML ist
geprueft, das Compose-Schema nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 14:06:21 +02:00
co-authored by Claude Opus 5
commit 72f61dbd07
5 changed files with 313 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Fivemanage Lite — Geheimnisse und Adressen
#
# 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 stattdessen als Stack-Variablen ein;
# dann braucht es die Datei dort gar nicht.
#
# Erzeugen:
# openssl rand -hex 16 DB_PASSWORD, MINIO_ROOT_PASSWORD
# openssl rand -hex 32 API_TOKEN_HMAC_SECRET (muss 32 Byte sein)
# openssl rand -hex 12 ADMIN_PASSWORD
DB_PASSWORD=
MINIO_ROOT_PASSWORD=
API_TOKEN_HMAC_SECRET=
ADMIN_PASSWORD=
# Unter welcher Adresse die Dateien oeffentlich liegen. Ohne sie liefert MinIO
# Links auf den internen Containernamen aus — die gehen von aussen ins Leere.
PUBLIC_URL=https://fivecdn.d4rkst3r.de
# Das Docker-Netz, in dem der bestehende Reverse Proxy haengt.
PROXY_NETWORK=proxy