Commit Graph
3 Commits
Author SHA1 Message Date
D4rkst3randClaude Opus 5 d33db5eb79 README: die Geheimnisse in PowerShell erzeugen
Der bisherige Befehl war Bash und lief in Windows PowerShell 5.1 nicht — dort
gibt es weder printf noch openssl. Die PowerShell-Fassung steht jetzt zuerst,
Bash daneben.

Zwei Fallen sind darin vermerkt, beide bereits hineingetreten:

  RandomNumberGenerator::Fill gibt es erst ab .NET 6; Windows PowerShell 5.1
  laeuft auf .NET Framework und kennt nur ::Create().GetBytes().

  Set-Content -Encoding utf8 schreibt in 5.1 ein BOM voran. Dann heisst die
  erste Variable nicht DB_PASSWORD, und der Stack startet mit einer fehlenden
  Angabe, deren Grund man nicht sieht. Der Inhalt ist ohnehin ASCII.

Dazu der Hinweis, dass Get-Random hier nicht taugt: es ist nicht
kryptografisch sicher, und erzeugt wird ein Token-Signaturgeheimnis.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 14:20:48 +02:00
D4rkst3randClaude Opus 5 ba5c733e27 Ergaenzung fuer einen Reverse Proxy ausserhalb des Docker-Netzes
Die Compose war fuer den sauberen Weg gebaut: NPM im selben Netz, kein Port
offen. Auf diesem Server laeuft NPM aber anders — Bot und Hub haengen dort an
`http://host.docker.internal:3080`, also ueber den Host. So wie sie war, haette
NPM `minio` gar nicht gefunden.

docker-compose.hostports.yml legt deshalb die beiden noetigen Ports offen, und
zwar an 127.0.0.1 gebunden: damit ist der Port vom Internet aus zu, und nur der
Host kommt heran.

Mit einem Vorbehalt, der in der Datei steht: ob `host.docker.internal` eine
Bindung an 127.0.0.1 ueberhaupt erreicht, haengt an der Docker-Fassung. Unter
Linux fuehrt der Weg ueber die Docker-Bruecke statt ueber Loopback, dann muss
die Bindung 0.0.0.0 lauten und die Firewall den Port zumachen. Klappt es nicht,
ist die Bindung nicht der Fehler, sondern der Weg.

Sauberer bleibt Weg A — NPM ins Netz `proxy` haengen. Dann braucht es diese
Datei gar nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 14:16:52 +02:00
D4rkst3randClaude Opus 5 72f61dbd07 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>
2026-08-11 14:06:21 +02:00