electric-horses-infra/README.md
Benjamin Weinlich c4a97793d5 chore(repo): initialize infrastructure-as-code repository
- README.md explains scope, conventions, what does / does not belong here
- Agent.md is the AI session briefing with workflow rules
- .gitignore blocks secrets, runtime data, and build artifacts

Refs OP#1119
2026-04-11 22:19:10 +02:00

54 lines
2.3 KiB
Markdown

# electric-horses-infra
**Infrastructure as Code** für Electric Horses / Richter & Zech.
Dieses Repository enthält die versionierten Docker-Compose-Stacks, Reverse-Proxy-Configs, Architektur-Dokumentation und Architecture Decision Records (ADRs) für unsere Hetzner-Cloud-Infrastruktur.
## Was lebt hier?
```
electric-horses-infra/
├── Agent.md # AI-Briefing für jede Session
├── README.md # diese Datei
├── .gitignore # was NICHT commitet wird
├── stacks/ # Docker-Compose Stacks (1:1 was auf den Servern läuft)
│ ├── forgejo/ # code.sdda.eu — dieses Git-Hosting
│ └── eh-search/ # electric-horses.de Site-Search
└── docs/ # Dokumentation
└── architecture/ # Topologie-Snapshots, Stack-Inventories
```
**Konvention:** Jeder Stack-Ordner spiegelt den Stack auf dem tatsächlichen Server — aber ohne Secrets. Die `.env` mit echten Werten lebt auf dem Server (mode 600), hier ist nur die `.env.example` als Template.
## Was gehört hier REIN
- `docker-compose.yml` Dateien
- `Dockerfile`s
- Nginx-Configs
- Python / Shell Scripts die Teil der Infra sind
- SQL-Migrationen / Schema-Dumps (nicht Datenbank-Inhalte!)
- `.env.example` mit Platzhaltern
- Markdown-Dokumentation, Diagramme (Mermaid), ADRs, Runbooks
## Was gehört hier NICHT REIN
- **Niemals** echte `.env` Dateien, Passwörter, API-Keys, Zertifikate
- Runtime-Daten (Datenbank-Inhalte, Git-Repos im Git-Repo, uploaded files)
- Build-Artefakte (`node_modules/`, `dist/`, `__pycache__/`)
- Logs
- Backup-Dumps mit Nutzerdaten (DSGVO)
Wenn du unsicher bist: Lass es lieber raus. Es ist einfacher eine fehlende Datei nachzureichen als ein Secret aus der Git-History zu entfernen.
## Mitarbeit
**Du als Human:** Du schreibst Wünsche und Feedback in Claude-Code / OpenProject, reviewst Commits im Web-UI (code.sdda.eu).
**Die AI:** Liest `Agent.md` am Sessionstart, macht Änderungen in bestehenden Stacks, committet mit Referenzen auf OpenProject-Work-Packages (`Refs OP#1234`).
## OpenProject Referenz
- **Parent-Phase:** M7 Operations & Documentation Foundation (#1118)
- **Repo-Setup:** M7.2 (dieser Commit)
- Nachschauen: https://openproject.sdda.eu/projects/www-dot-electric-horses-dot-de-relaunch/