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:
co-authored by
Claude Opus 5.5
parent
30d80174ac
commit
558e698e3b
@@ -48,4 +48,4 @@ Die Ports 80 und 3306 sind auf dem Entwicklungsrechner belegt, daher `APP_PORT`
|
|||||||
- Keine Selbstregistrierung: Benutzer legt ein Administrator an.
|
- Keine Selbstregistrierung: Benutzer legt ein Administrator an.
|
||||||
- 2FA (Authenticator-App) und Passkeys sind verfügbar, 2FA ist noch nicht verpflichtend.
|
- 2FA (Authenticator-App) und Passkeys sind verfügbar, 2FA ist noch nicht verpflichtend.
|
||||||
- Meilisearch: Version fest eingestellt, Telemetrie aus (`MEILISEARCH_NO_ANALYTICS=true`).
|
- 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
@@ -5,7 +5,8 @@ Stand: 1. Oktober 2026 (KW 40). Wird nach dem Kundentermin (KW 42) zum Detailpla
|
|||||||
## Beteiligte
|
## Beteiligte
|
||||||
|
|
||||||
- **ITM:** Anbieter der KI-API (OCR, Embeddings, Reranker, ggf. Sprachmodell), Projektleitung und
|
- **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
|
- **BauIn:** Endkunde. Liefert Fachdaten (LVs, MKAs, Bewertungsmatrizen), stellt den Fachexperten
|
||||||
und nutzt das System.
|
und nutzt das System.
|
||||||
- „Kunde“ meint in diesem Dokument BauIn; wo ITM gemeint ist, steht ITM.
|
- „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 |
|
| | 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) |
|
| **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) |
|
| **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 |
|
| **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 | – |
|
| 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 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 | ITM | Testzugang zur KI-API (OCR, Embedding, Reranker; Sprachmodell falls vorhanden) | AP3 |
|
||||||
| KW 43 | BauIn | Entscheidung Rollenmodell, Freigabe-Variante, 2FA-Pflicht | AP1, AP8 |
|
| 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 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 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
|
## Risiken
|
||||||
|
|
||||||
@@ -136,7 +138,7 @@ M4 Ende KW 13/2027 (Anfang April).
|
|||||||
**Später im Plan (bereits vorgemerkt)**
|
**Später im Plan (bereits vorgemerkt)**
|
||||||
- [ ] **Meilisearch-Test Teil 2** (KW 46–47): Trefferquote mit echten API-Vektoren und Referenzfällen,
|
- [ ] **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
|
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
|
- [ ] 2FA-Pflicht umsetzen, falls der Kunde das entscheidet
|
||||||
|
|
||||||
## Später (nicht im MVP)
|
## Später (nicht im MVP)
|
||||||
|
|||||||
+10
-9
@@ -7,7 +7,8 @@ und benennt, wo KI-BauIN bewusst abweicht und warum.
|
|||||||
## Beteiligte
|
## Beteiligte
|
||||||
|
|
||||||
- **ITM:** Anbieter der KI-API (OCR, Embeddings, Reranker, ggf. Sprachmodell), Projektleitung und
|
- **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
|
- **BauIn:** Endkunde. Liefert Fachdaten (LVs, MKAs, Bewertungsmatrizen), stellt den Fachexperten
|
||||||
und nutzt das System.
|
und nutzt das System.
|
||||||
- „Kunde“ meint in diesem Dokument BauIn; wo ITM gemeint ist, steht ITM.
|
- „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) |
|
| Tests | Pest 4 auf PHPUnit 12; Tests im PHPUnit-Klassenstil | gleich (Runner ergänzt) |
|
||||||
| Code-Stil | Laravel Pint | gleich |
|
| Code-Stil | Laravel Pint | gleich |
|
||||||
| Statische Analyse | PHPStan/Larastan Stufe 7 | ergänzt |
|
| 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)
|
## 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,
|
- **Externe Alarmierung von Anfang an** (z. B. Mail), wenn Worker oder Scheduler ausfallen,
|
||||||
Jobs fehlschlagen oder die KI-API ITM nicht erreichbar ist.
|
Jobs fehlschlagen oder die KI-API ITM nicht erreichbar ist.
|
||||||
- **Backups verschlüsselt**, bevor sie den Server verlassen (z. B. restic). Speicherort und
|
- **Backups verschlüsselt**, bevor sie den Server verlassen (z. B. restic). Speicherort,
|
||||||
Aufbewahrungsdauer legt der Kunde fest. Gesichert werden Datenbank, private Uploads und
|
Aufbewahrungsdauer und Zuständigkeit sind noch offen. Gesichert werden Datenbank, private Uploads und
|
||||||
Konfiguration; der Meilisearch-Index nicht, er wird aus MySQL neu aufgebaut.
|
Konfiguration; der Meilisearch-Index nicht, er wird aus MySQL neu aufgebaut.
|
||||||
- **Wiederanlauf auf einem Ersatzserver** einmal vollständig testen; Datenverlust und
|
- **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
|
## 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. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| Suche | – | Meilisearch | Hybride Suche und Vektorsuche für die Nachtragsprüfung. |
|
||||||
|
|
||||||
## 7. Offene Punkte
|
## 7. Offene Punkte
|
||||||
|
|
||||||
- Ist 2FA für alle Benutzer Pflicht?
|
- Ist 2FA für alle Benutzer Pflicht?
|
||||||
- Verlangt die IT des Kunden eine Festplattenverschlüsselung auf der VM?
|
- Verlangen BauIn oder ITM eine Festplattenverschlüsselung auf den Servern bei ITM?
|
||||||
- Speicherort und Aufbewahrungsdauer der Backups.
|
- Backups: Speicherort, Aufbewahrungsdauer und wer dafür zuständig ist.
|
||||||
- Weitere Sprachen über Deutsch und Englisch hinaus (technisch vorbereitet, fachlich nicht angefragt).
|
- Weitere Sprachen über Deutsch und Englisch hinaus (technisch vorbereitet, fachlich nicht angefragt).
|
||||||
|
|
||||||
## Architekturübersicht
|
## Architekturübersicht
|
||||||
@@ -132,5 +133,5 @@ flowchart LR
|
|||||||
Scheduler --> Queue
|
Scheduler --> Queue
|
||||||
Health[Statusprüfung und Alarmierung] --> Worker
|
Health[Statusprüfung und Alarmierung] --> Worker
|
||||||
Health --> Scheduler
|
Health --> Scheduler
|
||||||
Backup[Verschlüsselte Sicherung] --> Storage[Speicherort nach Vorgabe des Kunden]
|
Backup[Verschlüsselte Sicherung] --> Storage[Speicherort noch offen]
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user