# Umgebungs-Architektur

## Uebersicht

BreakPilot verwendet zwei Umgebungen:

```
┌─────────────────┐                    ┌─────────────────┐
│   Development   │───── git push ────▶│   Production    │
│   (Mac Mini)    │                    │   (Coolify)     │
└─────────────────┘                    └─────────────────┘
     Lokale                             Automatisch
     Entwicklung                        via Coolify
```

## Umgebungen

### Development (Lokal — Mac Mini)

**Zweck:** Lokale Entwicklung und Tests

| Eigenschaft | Wert |
|-------------|------|
| Git Branch | `main` |
| Compose File | `docker-compose.yml` |
| Database | Lokale PostgreSQL |
| Debug | Aktiviert |
| Hot-Reload | Aktiviert |

**Start:**
```bash
ssh macmini "cd ~/Projekte/breakpilot-core && /usr/local/bin/docker compose up -d"
```

### Production (Coolify)

**Zweck:** Live-System

| Eigenschaft | Wert |
|-------------|------|
| Git Branch | `main` |
| Deployment | Coolify (automatisch bei Push auf gitea) |
| Database | Externe PostgreSQL (TLS) |
| Debug | Deaktiviert |

**Deploy:**
```bash
git push origin main && git push gitea main
# Coolify baut und deployt automatisch
```

## Docker Compose Architektur

```
docker-compose.yml              ← Basis-Konfiguration (lokal, arm64)
        │
        └── docker-compose.coolify.yml   ← Production Override (amd64)
```

Coolify verwendet automatisch beide Compose-Files fuer den Production-Build.

## Secrets Management

### Development
- `.env` enthält Entwicklungs-Credentials
- Vault optional (Dev-Token)
- Mailpit für E-Mail-Tests

### Production
- `.env` auf dem Server (nicht im Repository)
- Vault PFLICHT
- Echte SMTP-Konfiguration

Siehe auch: [Secrets Management](./secrets-management.md)

## Verwandte Dokumentation

- [Secrets Management](./secrets-management.md) - Vault & Secrets
- [DevSecOps](./devsecops.md) - CI/CD & Security
- [System-Architektur](./system-architecture.md) - Gesamtarchitektur
