Initial commit: breakpilot-core - Shared Infrastructure
Docker Compose with 24+ services: - PostgreSQL (PostGIS), Valkey, MinIO, Qdrant - Vault (PKI/TLS), Nginx (Reverse Proxy) - Backend Core API, Consent Service, Billing Service - RAG Service, Embedding Service - Gitea, Woodpecker CI/CD - Night Scheduler, Health Aggregator - Jitsi (Web/XMPP/JVB/Jicofo), Mailpit Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
258
docs-src/getting-started/environment-setup.md
Normal file
258
docs-src/getting-started/environment-setup.md
Normal file
@@ -0,0 +1,258 @@
|
||||
# Entwickler-Guide: Umgebungs-Setup
|
||||
|
||||
Dieser Guide erklärt das tägliche Arbeiten mit den Dev/Staging/Prod-Umgebungen.
|
||||
|
||||
## Schnellstart
|
||||
|
||||
```bash
|
||||
# 1. Wechsle in das Projektverzeichnis
|
||||
cd /Users/benjaminadmin/Projekte/breakpilot-pwa
|
||||
|
||||
# 2. Starte die Entwicklungsumgebung
|
||||
./scripts/start.sh dev
|
||||
|
||||
# 3. Prüfe den Status
|
||||
./scripts/status.sh
|
||||
```
|
||||
|
||||
## Täglicher Workflow
|
||||
|
||||
### Morgens: Entwicklung starten
|
||||
|
||||
```bash
|
||||
# Auf develop-Branch wechseln
|
||||
git checkout develop
|
||||
|
||||
# Neueste Änderungen holen (falls Remote konfiguriert)
|
||||
git pull origin develop
|
||||
|
||||
# Umgebung starten
|
||||
./scripts/start.sh dev
|
||||
```
|
||||
|
||||
### Während der Arbeit
|
||||
|
||||
```bash
|
||||
# Logs eines Services anzeigen
|
||||
docker compose logs -f backend
|
||||
|
||||
# Service neustarten
|
||||
docker compose restart backend
|
||||
|
||||
# Status prüfen
|
||||
./scripts/status.sh
|
||||
```
|
||||
|
||||
### Änderungen committen
|
||||
|
||||
```bash
|
||||
# Änderungen anzeigen
|
||||
git status
|
||||
|
||||
# Dateien hinzufügen
|
||||
git add .
|
||||
|
||||
# Commit erstellen
|
||||
git commit -m "Feature: Beschreibung der Änderung"
|
||||
```
|
||||
|
||||
### Abends: Umgebung stoppen
|
||||
|
||||
```bash
|
||||
./scripts/stop.sh dev
|
||||
```
|
||||
|
||||
## Umgebung wechseln
|
||||
|
||||
### Von Dev zu Staging
|
||||
|
||||
```bash
|
||||
# Stoppe Dev
|
||||
./scripts/stop.sh dev
|
||||
|
||||
# Starte Staging
|
||||
./scripts/start.sh staging
|
||||
```
|
||||
|
||||
### Zurück zu Dev
|
||||
|
||||
```bash
|
||||
./scripts/stop.sh staging
|
||||
./scripts/start.sh dev
|
||||
```
|
||||
|
||||
## Code promoten
|
||||
|
||||
### Dev → Staging (nach erfolgreichem Test)
|
||||
|
||||
```bash
|
||||
# Stelle sicher, dass alle Änderungen committet sind
|
||||
git status
|
||||
|
||||
# Promote zu Staging
|
||||
./scripts/promote.sh dev-to-staging
|
||||
|
||||
# Push zu Remote (falls konfiguriert)
|
||||
git push origin staging
|
||||
```
|
||||
|
||||
### Staging → Production (Release)
|
||||
|
||||
```bash
|
||||
# Nur nach vollständigem Test auf Staging!
|
||||
./scripts/promote.sh staging-to-prod
|
||||
|
||||
# Push zu Remote
|
||||
git push origin main
|
||||
```
|
||||
|
||||
## Nützliche Befehle
|
||||
|
||||
### Docker
|
||||
|
||||
```bash
|
||||
# Alle Container anzeigen
|
||||
docker compose ps
|
||||
|
||||
# Logs folgen
|
||||
docker compose logs -f [service]
|
||||
|
||||
# In Container einsteigen
|
||||
docker compose exec backend bash
|
||||
docker compose exec postgres psql -U breakpilot -d breakpilot_dev
|
||||
|
||||
# Container neustarten
|
||||
docker compose restart [service]
|
||||
|
||||
# Alle Container stoppen und entfernen
|
||||
docker compose down
|
||||
|
||||
# Mit Volumes löschen (VORSICHT!)
|
||||
docker compose down -v
|
||||
```
|
||||
|
||||
### Git
|
||||
|
||||
```bash
|
||||
# Aktuellen Branch anzeigen
|
||||
git branch --show-current
|
||||
|
||||
# Alle Branches anzeigen
|
||||
git branch -v
|
||||
|
||||
# Änderungen zwischen Branches anzeigen
|
||||
git diff develop..staging
|
||||
```
|
||||
|
||||
### Datenbank
|
||||
|
||||
```bash
|
||||
# Direkt mit PostgreSQL verbinden (Dev)
|
||||
docker compose exec postgres psql -U breakpilot -d breakpilot_dev
|
||||
|
||||
# Backup erstellen
|
||||
./scripts/backup.sh
|
||||
|
||||
# Backup wiederherstellen
|
||||
./scripts/restore.sh backup-file.sql.gz
|
||||
```
|
||||
|
||||
## Häufige Probleme
|
||||
|
||||
### "Port already in use"
|
||||
|
||||
Ein anderer Prozess oder Container verwendet den Port.
|
||||
|
||||
```bash
|
||||
# Laufende Container prüfen
|
||||
docker ps
|
||||
|
||||
# Alte Container stoppen
|
||||
docker compose down
|
||||
|
||||
# Prozess auf Port finden (z.B. 8000)
|
||||
lsof -i :8000
|
||||
```
|
||||
|
||||
### Container startet nicht
|
||||
|
||||
```bash
|
||||
# Logs prüfen
|
||||
docker compose logs backend
|
||||
|
||||
# Container neu bauen
|
||||
docker compose build backend
|
||||
docker compose up -d backend
|
||||
```
|
||||
|
||||
### Datenbank-Verbindungsfehler
|
||||
|
||||
```bash
|
||||
# Prüfen ob PostgreSQL läuft
|
||||
docker compose ps postgres
|
||||
|
||||
# PostgreSQL-Logs prüfen
|
||||
docker compose logs postgres
|
||||
|
||||
# Neustart
|
||||
docker compose restart postgres
|
||||
```
|
||||
|
||||
### Falsche Umgebung aktiv
|
||||
|
||||
```bash
|
||||
# Status prüfen
|
||||
./scripts/status.sh
|
||||
|
||||
# Auf richtige Umgebung wechseln
|
||||
./scripts/env-switch.sh dev
|
||||
```
|
||||
|
||||
## Umgebungs-Dateien
|
||||
|
||||
| Datei | Beschreibung | Im Git? |
|
||||
|-------|--------------|---------|
|
||||
| `.env` | Aktive Umgebung | Nein |
|
||||
| `.env.dev` | Development Werte | Ja |
|
||||
| `.env.staging` | Staging Werte | Ja |
|
||||
| `.env.prod` | Production Werte | **NEIN** |
|
||||
| `.env.example` | Template | Ja |
|
||||
|
||||
## Ports Übersicht
|
||||
|
||||
### Development
|
||||
|
||||
| Service | Port | URL |
|
||||
|---------|------|-----|
|
||||
| Backend | 8000 | http://localhost:8000 |
|
||||
| Website | 3000 | http://localhost:3000 |
|
||||
| Consent Service | 8081 | http://localhost:8081 |
|
||||
| PostgreSQL | 5432 | localhost:5432 |
|
||||
| Mailpit UI | 8025 | http://localhost:8025 |
|
||||
| MinIO Console | 9001 | http://localhost:9001 |
|
||||
|
||||
### Staging
|
||||
|
||||
| Service | Port | URL |
|
||||
|---------|------|-----|
|
||||
| Backend | 8001 | http://localhost:8001 |
|
||||
| PostgreSQL | 5433 | localhost:5433 |
|
||||
| Mailpit UI | 8026 | http://localhost:8026 |
|
||||
| MinIO Console | 9003 | http://localhost:9003 |
|
||||
|
||||
## Hilfe
|
||||
|
||||
```bash
|
||||
# Status und Übersicht
|
||||
./scripts/status.sh
|
||||
|
||||
# Script-Hilfe
|
||||
./scripts/env-switch.sh --help
|
||||
./scripts/promote.sh --help
|
||||
```
|
||||
|
||||
## Verwandte Dokumentation
|
||||
|
||||
- [Architektur: Umgebungen](../architecture/environments.md)
|
||||
- [Secrets Management](../architecture/secrets-management.md)
|
||||
- [System-Architektur](../architecture/system-architecture.md)
|
||||
109
docs-src/getting-started/mac-mini-setup.md
Normal file
109
docs-src/getting-started/mac-mini-setup.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Mac Mini Headless Setup - Vollständig Automatisch
|
||||
|
||||
## Verbindungsdaten
|
||||
|
||||
- **IP (LAN):** 192.168.178.100
|
||||
- **User:** benjaminadmin
|
||||
- **SSH:** `ssh benjaminadmin@192.168.178.100`
|
||||
|
||||
## Nach Neustart - Alles startet automatisch!
|
||||
|
||||
| Service | Auto-Start | Port |
|
||||
|---------|------------|------|
|
||||
| SSH | Ja | 22 |
|
||||
| Docker Desktop | Ja | - |
|
||||
| Docker Container | Ja (nach ~2 Min) | 8000, 8081, etc. |
|
||||
| Ollama Server | Ja | 11434 |
|
||||
| Unity Hub | Ja | - |
|
||||
| VS Code | Ja | - |
|
||||
|
||||
**Keine Aktion nötig nach Neustart!** Einfach 2-3 Minuten warten.
|
||||
|
||||
## Status prüfen
|
||||
|
||||
```bash
|
||||
./scripts/mac-mini/status.sh
|
||||
```
|
||||
|
||||
## Services & Ports
|
||||
|
||||
| Service | Port | URL |
|
||||
|---------|------|-----|
|
||||
| Backend API | 8000 | http://192.168.178.100:8000/admin |
|
||||
| Consent Service | 8081 | - |
|
||||
| PostgreSQL | 5432 | - |
|
||||
| Valkey/Redis | 6379 | - |
|
||||
| MinIO | 9000/9001 | http://192.168.178.100:9001 |
|
||||
| Mailpit | 8025 | http://192.168.178.100:8025 |
|
||||
| Ollama | 11434 | http://192.168.178.100:11434/api/tags |
|
||||
| Dokumentation | 8008 | http://192.168.178.100:8008 |
|
||||
|
||||
## LLM Modelle
|
||||
|
||||
- **Qwen 2.5 14B** (14.8 Milliarden Parameter)
|
||||
|
||||
## Scripts (auf MacBook)
|
||||
|
||||
```bash
|
||||
./scripts/mac-mini/status.sh # Status prüfen
|
||||
./scripts/mac-mini/sync.sh # Code synchronisieren
|
||||
./scripts/mac-mini/docker.sh # Docker-Befehle
|
||||
./scripts/mac-mini/backup.sh # Backup erstellen
|
||||
```
|
||||
|
||||
## Docker-Befehle
|
||||
|
||||
```bash
|
||||
./scripts/mac-mini/docker.sh ps # Container anzeigen
|
||||
./scripts/mac-mini/docker.sh logs backend # Logs
|
||||
./scripts/mac-mini/docker.sh restart # Neustart
|
||||
./scripts/mac-mini/docker.sh build # Image bauen
|
||||
```
|
||||
|
||||
## LaunchAgents (Auto-Start)
|
||||
|
||||
Pfad auf Mac Mini: `~/Library/LaunchAgents/`
|
||||
|
||||
| Agent | Funktion |
|
||||
|-------|----------|
|
||||
| `com.docker.desktop.plist` | Docker Desktop |
|
||||
| `com.breakpilot.docker-containers.plist` | Container Auto-Start |
|
||||
| `com.ollama.serve.plist` | Ollama Server |
|
||||
| `com.unity.hub.plist` | Unity Hub |
|
||||
| `com.microsoft.vscode.plist` | VS Code |
|
||||
|
||||
## Projekt-Pfade
|
||||
|
||||
- **MacBook:** `/Users/benjaminadmin/Projekte/breakpilot-pwa/`
|
||||
- **Mac Mini:** `/Users/benjaminadmin/Projekte/breakpilot-pwa/`
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Docker Onboarding erscheint wieder
|
||||
|
||||
Docker-Einstellungen sind gesichert in `~/docker-settings-backup/`
|
||||
|
||||
```bash
|
||||
# Wiederherstellen:
|
||||
cp -r ~/docker-settings-backup/* ~/Library/Group\ Containers/group.com.docker/
|
||||
```
|
||||
|
||||
### Container starten nicht automatisch
|
||||
|
||||
Log prüfen:
|
||||
|
||||
```bash
|
||||
ssh benjaminadmin@192.168.178.100 "cat /tmp/docker-autostart.log"
|
||||
```
|
||||
|
||||
Manuell starten:
|
||||
|
||||
```bash
|
||||
./scripts/mac-mini/docker.sh up
|
||||
```
|
||||
|
||||
### SSH nicht erreichbar
|
||||
|
||||
- Prüfe ob Mac Mini an ist (Ping: `ping 192.168.178.100`)
|
||||
- Warte 1-2 Minuten nach Boot
|
||||
- Prüfe Netzwerkverbindung
|
||||
Reference in New Issue
Block a user