docs: Update CLAUDE.md with 3 Docker Compose projects and cleanup
Some checks failed
ci/woodpecker/push/integration Pipeline failed
ci/woodpecker/push/main Pipeline failed
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled

- Document breakpilot-pwa, breakpilot-core, breakpilot-compliance as separate compose projects
- Add Developer Portal URLs (port 3006) and compliance services
- Remove billing-service and BreakpilotDrive from active services
- Add developer-portal and breakpilot-compliance-sdk to directory structure
- Document git-filter-repo cleanup (1.7GB -> 11MB)
- Add Docker commands for all three compose projects

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
BreakPilot Dev
2026-02-12 21:50:14 +01:00
parent 9ffe54ce9f
commit 80ca8c1c92

View File

@@ -90,6 +90,35 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
--- ---
## Drei Docker Compose Projekte (WICHTIG!)
Das System besteht aus **drei separaten Docker Compose Projekten** auf dem Mac Mini:
| Projekt | Pfad | Container-Prefix | Beschreibung |
|---------|------|-------------------|--------------|
| **breakpilot-pwa** | `/Users/benjaminadmin/Projekte/breakpilot-pwa/` | `breakpilot-pwa-*` | Haupt-Repo: Studio, Admin, Backend, alle Services |
| **breakpilot-core** | `/Users/benjaminadmin/Projekte/breakpilot-core/` | `bp-core-*` | Nginx Reverse Proxy (`bp-core-nginx`) |
| **breakpilot-compliance** | `/Users/benjaminadmin/Projekte/breakpilot-compliance/` | `bp-compliance-*` | Compliance-System: Developer Portal, Admin, Backend, AI SDK |
### Wichtige Hinweise zu den Compose-Projekten
- **Nginx** (`bp-core-nginx`) läuft in `breakpilot-core`, NICHT in `breakpilot-pwa`
- **Developer Portal** (`bp-compliance-developer-portal`) läuft in `breakpilot-compliance`
- Wenn ein Container in `breakpilot-pwa` nicht existiert, prüfe die anderen Projekte!
```bash
# breakpilot-pwa Container verwalten
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml <cmd>"
# breakpilot-core Container verwalten (Nginx)
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-core/docker-compose.yml <cmd>"
# breakpilot-compliance Container verwalten (Developer Portal, Compliance)
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml <cmd>"
```
---
## Haupt-URLs (HTTPS via Nginx) ## Haupt-URLs (HTTPS via Nginx)
| URL | Service | Beschreibung | | URL | Service | Beschreibung |
@@ -115,6 +144,19 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
| https://macmini:3002/developers | Developer Portal | API-Dokumentation für Kunden | | https://macmini:3002/developers | Developer Portal | API-Dokumentation für Kunden |
| https://macmini:8093/ | SDK API | Backend-API für SDK | | https://macmini:8093/ | SDK API | Backend-API für SDK |
### Developer Portal (Compliance-Dokumentation)
| URL | Beschreibung |
|-----|--------------|
| https://macmini:3006/ | Developer Portal Startseite |
| https://macmini:3006/development/docs | **Systemdokumentation Compliance Service** |
| https://macmini:3006/sdk | SDK Dokumentation |
| https://macmini:3006/api | API Referenz |
| https://macmini:3006/guides | Guides |
| https://macmini:3006/changelog | Changelog |
**Hinweis:** Das Developer Portal läuft als `bp-compliance-developer-portal` im Compose-Projekt `breakpilot-compliance` auf Port 3006 (via `bp-core-nginx`).
### Interne Dienste ### Interne Dienste
| URL | Service | | URL | Service |
@@ -150,7 +192,7 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
--- ---
## Services (49 Container) ## Services
### Kern-Applikationen ### Kern-Applikationen
@@ -169,7 +211,6 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
| `klausur-service` | Python/FastAPI | 8086 | Prüfungen, OCR, RAG | | `klausur-service` | Python/FastAPI | 8086 | Prüfungen, OCR, RAG |
| `school-service` | Python | 8082 | Schulverwaltung | | `school-service` | Python | 8082 | Schulverwaltung |
| `edu-search-service` | Python | 8088 | Bildungssuche | | `edu-search-service` | Python | 8088 | Bildungssuche |
| `breakpilot-drive` | Node.js | 8087 | Dateiablage (IPFS) |
| `geo-service` | Python | 8084 | Geo-Daten (PostGIS) | | `geo-service` | Python | 8084 | Geo-Daten (PostGIS) |
| `voice-service` | Python | 8091 | Spracheingabe | | `voice-service` | Python | 8091 | Spracheingabe |
@@ -182,6 +223,15 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
| `paddleocr-service` | Python | - | OCR für Dokumente | | `paddleocr-service` | Python | - | OCR für Dokumente |
| `transcription-worker` | Python | - | Audio-Transkription | | `transcription-worker` | Python | - | Audio-Transkription |
### Compliance (breakpilot-compliance Projekt)
| Service | Tech | Port | Container |
|---------|------|------|-----------|
| `developer-portal` | Next.js | 3006 | `bp-compliance-developer-portal` |
| `compliance-admin` | Next.js | - | `bp-compliance-admin` |
| `compliance-backend` | Go | - | `bp-compliance-backend` |
| `compliance-ai-sdk` | Go | 8090 | `bp-compliance-ai-sdk` |
### Kommunikation ### Kommunikation
| Service | Tech | Port | Beschreibung | | Service | Tech | Port | Beschreibung |
@@ -206,7 +256,7 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
| Service | Tech | Port | Beschreibung | | Service | Tech | Port | Beschreibung |
|---------|------|------|--------------| |---------|------|------|--------------|
| `nginx` | Nginx | 80/443 | Reverse Proxy + TLS | | `nginx` | Nginx | 80/443 | Reverse Proxy + TLS (in breakpilot-core!) |
| `vault` | HashiCorp Vault | 8200 | Secrets Management | | `vault` | HashiCorp Vault | 8200 | Secrets Management |
| `vault-agent` | Vault | - | Zertifikatserneuerung | | `vault-agent` | Vault | - | Zertifikatserneuerung |
| `gitea` | Gitea | 3003 | Git-Server | | `gitea` | Gitea | 3003 | Git-Server |
@@ -215,14 +265,13 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
| `night-scheduler` | Python/FastAPI | 8096 | Auto-Shutdown/Startup | | `night-scheduler` | Python/FastAPI | 8096 | Auto-Shutdown/Startup |
| `mailpit` | Mailpit | 8025/1025 | E-Mail (Dev) | | `mailpit` | Mailpit | 8025/1025 | E-Mail (Dev) |
### ERP & Billing ### ERP
| Service | Tech | Port | Beschreibung | | Service | Tech | Port | Beschreibung |
|---------|------|------|--------------| |---------|------|------|--------------|
| `erpnext-frontend` | ERPNext | 8009 | ERP Frontend | | `erpnext-frontend` | ERPNext | 8009 | ERP Frontend |
| `erpnext-backend` | ERPNext | - | ERP Backend | | `erpnext-backend` | ERPNext | - | ERP Backend |
| `erpnext-db` | MariaDB | - | ERP Datenbank | | `erpnext-db` | MariaDB | - | ERP Datenbank |
| `billing-service` | Python | - | Abrechnungsservice |
### DSMS (Data Sharing) ### DSMS (Data Sharing)
@@ -258,9 +307,9 @@ Alle Security-Tools müssen nach der Pipeline durchlaufen:
- `studio-v2`: Next.js 15, React, TailwindCSS - `studio-v2`: Next.js 15, React, TailwindCSS
- `admin-v2`: Next.js 15, React, TailwindCSS - `admin-v2`: Next.js 15, React, TailwindCSS
- `website`: Next.js 14 - `website`: Next.js 14
- `developer-portal`: Next.js, React, TailwindCSS (in breakpilot-compliance)
### Node.js ### Node.js
- `breakpilot-drive`: Express, IPFS
- `dsms-node`: IPFS - `dsms-node`: IPFS
- `dsms-gateway`: Express - `dsms-gateway`: Express
@@ -286,15 +335,16 @@ breakpilot-pwa/
├── admin-v2/ # Admin Dashboard (Next.js) ├── admin-v2/ # Admin Dashboard (Next.js)
├── studio-v2/ # Lehrer-/Schüler-Studio (Next.js) ├── studio-v2/ # Lehrer-/Schüler-Studio (Next.js)
├── website/ # Öffentliche Website (Next.js) ├── website/ # Öffentliche Website (Next.js)
├── developer-portal/ # Developer Portal (Next.js, auch in breakpilot-compliance)
├── backend/ # Python Backend (FastAPI) ├── backend/ # Python Backend (FastAPI)
├── consent-service/ # Go Consent Service ├── consent-service/ # Go Consent Service
├── klausur-service/ # Klausur/OCR Service ├── klausur-service/ # Klausur/OCR Service
├── ai-compliance-sdk/ # KI-Compliance SDK ├── ai-compliance-sdk/ # KI-Compliance SDK
├── breakpilot-compliance-sdk/ # Compliance SDK (Monorepo)
├── voice-service/ # Spracheingabe ├── voice-service/ # Spracheingabe
├── geo-service/ # Geo-Daten ├── geo-service/ # Geo-Daten
├── school-service/ # Schulverwaltung ├── school-service/ # Schulverwaltung
├── edu-search-service/ # Bildungssuche ├── edu-search-service/ # Bildungssuche
├── breakpilot-drive/ # Dateiablage
├── night-scheduler/ # Auto-Shutdown ├── night-scheduler/ # Auto-Shutdown
├── nginx/ # Reverse Proxy Config ├── nginx/ # Reverse Proxy Config
├── vault/ # Vault Config ├── vault/ # Vault Config
@@ -304,6 +354,10 @@ breakpilot-pwa/
└── mkdocs.yml # MKDocs Config └── mkdocs.yml # MKDocs Config
``` ```
**Entfernte/nicht mehr aktive Verzeichnisse (in .gitignore blockiert):**
- `BreakpilotDrive/` — altes Unity-Projekt, nicht mehr in Entwicklung
- `billing-service/` — nicht benötigt
--- ---
## Dokumentation (MKDocs) ## Dokumentation (MKDocs)
@@ -339,7 +393,7 @@ mkdocs build
### Docker (via SSH auf Mac Mini) ### Docker (via SSH auf Mac Mini)
```bash ```bash
# Alle Services starten # Alle Services starten (breakpilot-pwa)
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml up -d" ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml up -d"
# Einzelnen Service neu bauen & starten # Einzelnen Service neu bauen & starten
@@ -351,6 +405,13 @@ ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/brea
# Status aller Container # Status aller Container
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml ps" ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-pwa/docker-compose.yml ps"
# Developer Portal (in breakpilot-compliance!)
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml build --no-cache developer-portal"
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml up -d developer-portal"
# Nginx (in breakpilot-core!)
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-core/docker-compose.yml restart nginx"
``` ```
**WICHTIG:** Docker-Pfad auf Mac Mini ist `/usr/local/bin/docker` (nicht im Standard-PATH bei SSH). **WICHTIG:** Docker-Pfad auf Mac Mini ist `/usr/local/bin/docker` (nicht im Standard-PATH bei SSH).
@@ -368,9 +429,12 @@ ssh macmini "cd /Users/benjaminadmin/Projekte/breakpilot-pwa/backend && source v
### Git ### Git
```bash ```bash
# Remote ist localhost:3003 (Gitea laeuft als Container auf Mac Mini) # Zwei Remotes konfiguriert - IMMER zu beiden pushen!
# Vom MacBook aus: http://macmini:3003/pilotadmin/breakpilot-pwa.git # origin: http://macmini:3003/pilotadmin/breakpilot-pwa.git (lokale Gitea auf Mac Mini)
# Vom Mac Mini aus: http://localhost:3003/pilotadmin/breakpilot-pwa.git # gitea: git@gitea.meghsakha.com:Benjamin_Boenisch/breakpilot-pwa.git (externer Gitea-Server)
# Push zu beiden Remotes (PFLICHT bei jedem Push):
git push origin main && git push gitea main
# Git-Befehle auf Mac Mini ausfuehren (ohne cd): # Git-Befehle auf Mac Mini ausfuehren (ohne cd):
ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-pwa status" ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-pwa status"
@@ -416,6 +480,15 @@ ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-pwa pull --no-rebas
- Vault-Tokens - Vault-Tokens
- SSL-Zertifikate - SSL-Zertifikate
**NIEMALS ins Git laden (via .gitignore blockiert):**
- `*.pdf`, `*.docx`, `*.xlsx`, `*.pptx` — Dokumente bleiben nur lokal auf dem Mac Mini
- Kompilierte Go-Binaries (`consent-service/server`, etc.)
- Große Mediendateien (Videos, Audio, Bilder >1 MB)
- `BreakpilotDrive/` — altes Unity-Projekt
- `billing-service/` — nicht benötigt
**Hinweis:** Die Git-History wurde am 2026-02-12 mit `git-filter-repo` bereinigt. Alle PDFs, Word-/Excel-Dateien, BreakpilotDrive/ und billing-service/ wurden aus der gesamten History entfernt. Das Repo ging dadurch von 1.7 GB auf 11 MB.
--- ---
## Ansprechpartner ## Ansprechpartner