# Deployment-Fixes – Release 1.1 Stand: 2026-07-23 Diese Revision repariert die Startprobleme der ersten Greenfield-Ausgabe, ohne die Event-Architektur wieder zu verändern. ## Behobene Ursachen 1. **Garage-Konfiguration war nicht Bestandteil des eigentlichen Compose-Lebenszyklus.** Die alte Ausgabe erwartete eine zuvor auf dem Host erzeugte `deploy/garage/garage.toml`. Jetzt erzeugt der einmalige Service `garage-config` die Konfiguration in einem Docker-Volume. `garage` startet erst nach erfolgreicher Erzeugung. 2. **Garage Single-Node RPC-Adresse war ungeeignet.** `rpc_public_addr` ist jetzt `127.0.0.1:3901`; der Server bindet intern weiterhin auf `0.0.0.0:3901`. 3. **ClickHouse hatte nur HTTP 8123 exponiert.** Zusätzlich ist jetzt der native Client-Port 9000 konfigurierbar und standardmäßig nur auf `127.0.0.1` gebunden. 4. **`.env.example` war unvollständig.** Sie enthält jetzt sämtliche 63 von Compose verwendeten Laufzeitparameter. `deploy.sh` und `deploy.ps1` ergänzen fehlende Schlüssel in einer bestehenden `.env`, ohne bestehende Secrets zu ersetzen. Eigene zusätzliche Schlüssel bleiben erhalten. 5. **Schema-Setup hing vom ersten Containerstart ab.** `postgres-schema` und `clickhouse-schema` laufen idempotent nach erfolgreicher Datenbank-Readiness. Damit wird ein teilweise abgebrochener Erststart nicht mehr stillschweigend als vollständig initialisiert behandelt. 6. **ClickHouse-Datenbankname war im Go-Code teilweise fest auf `siem` verdrahtet.** API, Detector und Inserts verwenden jetzt konsistent `CLICKHOUSE_DB`. 7. **Deployment-Fehler waren zu wenig sichtbar.** Der One-Click-Start validiert zuerst `docker compose config`, prüft nach dem Start API, Ingress, ClickHouse und Garage und gibt bei Fehlschlag automatisch die relevanten Logs aus. ## Sichere Reparatur einer vorhandenen Installation Die Daten-Volumes werden durch `./deploy.sh` **nicht** gelöscht. Am sichersten ist es, die bestehende `.env` in die korrigierte Projektversion zu übernehmen und danach `./deploy.sh` auszuführen. So bleiben die bereits verwendeten PostgreSQL-/ClickHouse-/Garage-Secrets erhalten. `./reset-DANGEROUS.sh` löscht dagegen die Docker-Volumes und darf bei erhaltenswerten Daten nicht verwendet werden. ## Diagnose - `./credentials.sh` zeigt die tatsächlich verwendeten Zugangsdaten und Ports. - `./doctor.sh` prüft Compose, API/Ingress, Garage, ClickHouse, Redpanda, PostgreSQL und den Raw-Spool. - `docker compose logs --tail=200 garage garage-config clickhouse clickhouse-schema` zeigt die wichtigsten Startfehler.