Server und Gitea bei ITM, Backups als offener Punkt

- ITM stellt Staging- und Produktionsserver sowie den Gitea für den
  Push-Mirror (Adresse folgt)
- Backups: Speicherort, Aufbewahrungsdauer und Zuständigkeit noch offen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Christoph
2026-10-01 12:23:39 +02:00
co-authored by Claude Opus 5.5
parent 30d80174ac
commit 558e698e3b
3 changed files with 18 additions and 15 deletions
+1 -1
View File
@@ -48,4 +48,4 @@ Die Ports 80 und 3306 sind auf dem Entwicklungsrechner belegt, daher `APP_PORT`
- Keine Selbstregistrierung: Benutzer legt ein Administrator an.
- 2FA (Authenticator-App) und Passkeys sind verfügbar, 2FA ist noch nicht verpflichtend.
- Meilisearch: Version fest eingestellt, Telemetrie aus (`MEILISEARCH_NO_ANALYTICS=true`).
- Git: führend ist der lokale Gitea; der Gitea des Kunden folgt als Push-Mirror.
- Git: führend ist der lokale Gitea; der Gitea von ITM folgt als Push-Mirror.
+7 -5
View File
@@ -5,7 +5,8 @@ Stand: 1. Oktober 2026 (KW 40). Wird nach dem Kundentermin (KW 42) zum Detailpla
## Beteiligte
- **ITM:** Anbieter der KI-API (OCR, Embeddings, Reranker, ggf. Sprachmodell), Projektleitung und
abrechnende Firma.
abrechnende Firma. Stellt auch die Server (Staging, Produktion) und den Gitea, auf den das
Repository gespiegelt wird.
- **BauIn:** Endkunde. Liefert Fachdaten (LVs, MKAs, Bewertungsmatrizen), stellt den Fachexperten
und nutzt das System.
- „Kunde“ meint in diesem Dokument BauIn; wo ITM gemeint ist, steht ITM.
@@ -30,7 +31,7 @@ Stand: 1. Oktober 2026 (KW 40). Wird nach dem Kundentermin (KW 42) zum Detailpla
| | Termin | Ergebnis | Termin mit dem Kunden |
|---|---|---|---|
| **M1** | Ende KW 43 (23.10.) | Grundgerüst: Login/2FA, Benutzer und Rollen, Projekte und Lose, Upload, Protokoll; Detailplan steht | Demo (30 min) |
| **M2** | Ende KW 47 (20.11.) | Pilot-LVs importiert und durchsuchbar, erste ~5 Dokumente gemeinsam mit „passt / passt nicht“ bewertet; Staging beim Kunden läuft | Prüftermin (60 min) |
| **M2** | Ende KW 47 (20.11.) | Pilot-LVs importiert und durchsuchbar, erste ~5 Dokumente gemeinsam mit „passt / passt nicht“ bewertet; Staging bei ITM läuft | Prüftermin (60 min) |
| **M3** | Ende KW 51 (18.12.) | Erste MKA durchgängig: Vorschläge, Feedback, Regeln, Excel-Export | Präsentation (60–90 min) |
| **M4** | Ende KW 4/2027 (29.01.) | Alle Pilot-MKAs durchlaufen, Trefferquote und Zeitersparnis gemessen; Produktion abgesichert | Abschlusspräsentation, Entscheidung über Ausbau |
| Puffer | KW 5–6/2027 | für Verzögerungen bei Zulieferungen oder GAEB-Import | – |
@@ -93,10 +94,11 @@ M4 Ende KW 13/2027 (Anfang April).
| KW 42 | BauIn | Beispieldateien (GAEB, MKA als PDF + GAEB, Matrix-Vorlage), Kopie der relevanten Lauffenburg-Dateien | AP5, AP9 |
| KW 43 | ITM | Testzugang zur KI-API (OCR, Embedding, Reranker; Sprachmodell falls vorhanden) | AP3 |
| KW 43 | BauIn | Entscheidung Rollenmodell, Freigabe-Variante, 2FA-Pflicht | AP1, AP8 |
| KW 46 | klären | Staging-VM mit Zugang, Domain und Zertifikat | AP11, M2 |
| KW 46 | ITM | Staging-Server mit Zugang, Domain und Zertifikat | AP11, M2 |
| KW 47 | BauIn | 10–20 abgeschlossene MKAs mit Bewertung (Referenzfälle) | AP2 Teil 2, AP12 |
| KW 48 | BauIn | Kuratierte Wissensbasis (VOB, DB-Richtlinien, Standardleistungstexte, Vorlagen) | AP4, AP7 |
| KW 51 | klären | Produktions-VM, Backup-Ziel und Aufbewahrungsdauer | AP11 |
| KW 51 | ITM | Produktions-Server mit Zugang, Domain und Zertifikat | AP11 |
| KW 51 | offen | Backups: Speicherort, Aufbewahrungsdauer, Zuständigkeit | AP11 |
## Risiken
@@ -136,7 +138,7 @@ M4 Ende KW 13/2027 (Anfang April).
**Später im Plan (bereits vorgemerkt)**
- [ ] **Meilisearch-Test Teil 2** (KW 46–47): Trefferquote mit echten API-Vektoren und Referenzfällen,
ohne/mit binärer Quantisierung, vor und nach dem Reranker
- [ ] Push-Mirror zum Gitea des Kunden einrichten, sobald die Adresse vorliegt
- [ ] Push-Mirror zum Gitea von ITM einrichten, sobald die Adresse vorliegt
- [ ] 2FA-Pflicht umsetzen, falls der Kunde das entscheidet
## Später (nicht im MVP)
+10 -9
View File
@@ -7,7 +7,8 @@ und benennt, wo KI-BauIN bewusst abweicht und warum.
## Beteiligte
- **ITM:** Anbieter der KI-API (OCR, Embeddings, Reranker, ggf. Sprachmodell), Projektleitung und
abrechnende Firma.
abrechnende Firma. Stellt auch die Server (Staging, Produktion) und den Gitea, auf den das
Repository gespiegelt wird.
- **BauIn:** Endkunde. Liefert Fachdaten (LVs, MKAs, Bewertungsmatrizen), stellt den Fachexperten
und nutzt das System.
- „Kunde“ meint in diesem Dokument BauIn; wo ITM gemeint ist, steht ITM.
@@ -76,7 +77,7 @@ Suchtreffern und bevor Inhalte an ein Sprachmodell gehen.
| Tests | Pest 4 auf PHPUnit 12; Tests im PHPUnit-Klassenstil | gleich (Runner ergänzt) |
| Code-Stil | Laravel Pint | gleich |
| Statische Analyse | PHPStan/Larastan Stufe 7 | ergänzt |
| Versionsverwaltung | Git, Gitea (lokal führend, Kunde als Push-Mirror) | gleich |
| Versionsverwaltung | Git, Gitea (lokal führend, Gitea von ITM als Push-Mirror) | gleich |
## 5. Betrieb (Produktion, geplant)
@@ -90,11 +91,11 @@ Ergänzt bzw. anders als in der Referenz:
- **Externe Alarmierung von Anfang an** (z. B. Mail), wenn Worker oder Scheduler ausfallen,
Jobs fehlschlagen oder die KI-API ITM nicht erreichbar ist.
- **Backups verschlüsselt**, bevor sie den Server verlassen (z. B. restic). Speicherort und
Aufbewahrungsdauer legt der Kunde fest. Gesichert werden Datenbank, private Uploads und
- **Backups verschlüsselt**, bevor sie den Server verlassen (z. B. restic). Speicherort,
Aufbewahrungsdauer und Zuständigkeit sind noch offen. Gesichert werden Datenbank, private Uploads und
Konfiguration; der Meilisearch-Index nicht, er wird aus MySQL neu aufgebaut.
- **Wiederanlauf auf einem Ersatzserver** einmal vollständig testen; Datenverlust und
Wiederanlaufzeit mit dem Kunden festlegen.
Wiederanlaufzeit mit BauIn und ITM festlegen.
## 6. Bewusste Abweichungen von der Referenz
@@ -103,14 +104,14 @@ Ergänzt bzw. anders als in der Referenz:
| Livewire | 3 | 4 | Neues Projekt; das Starter-Kit von Laravel 13 baut auf Livewire 4 auf, ein späterer Umstieg entfällt. |
| TallStackUI | 3 | 4 | TallStackUI 3 läuft nur mit Livewire 3; Version 4 setzt Livewire ≥ 4.3 voraus. |
| PHP | 8.4 | 8.5 | Sicherheitsupdates bis Ende 2029 statt Ende 2028. |
| Backups | unverschlüsselt, Hetzner Object Storage | verschlüsselt, Ort nach Vorgabe des Kunden | Vertrauliche Vertragsunterlagen; Vorgabe „alles lokal“. |
| Backups | unverschlüsselt, Hetzner Object Storage | verschlüsselt, Ort noch offen | Vertrauliche Vertragsunterlagen; Vorgabe „alles lokal“. |
| Suche | – | Meilisearch | Hybride Suche und Vektorsuche für die Nachtragsprüfung. |
## 7. Offene Punkte
- Ist 2FA für alle Benutzer Pflicht?
- Verlangt die IT des Kunden eine Festplattenverschlüsselung auf der VM?
- Speicherort und Aufbewahrungsdauer der Backups.
- Verlangen BauIn oder ITM eine Festplattenverschlüsselung auf den Servern bei ITM?
- Backups: Speicherort, Aufbewahrungsdauer und wer dafür zuständig ist.
- Weitere Sprachen über Deutsch und Englisch hinaus (technisch vorbereitet, fachlich nicht angefragt).
## Architekturübersicht
@@ -132,5 +133,5 @@ flowchart LR
Scheduler --> Queue
Health[Statusprüfung und Alarmierung] --> Worker
Health --> Scheduler
Backup[Verschlüsselte Sicherung] --> Storage[Speicherort nach Vorgabe des Kunden]
Backup[Verschlüsselte Sicherung] --> Storage[Speicherort noch offen]
```