Infrastructure as Code — docker-compose Stacks, Configs, Architektur-Docs und ADRs für die Electric Horses / Richter & Zech Hetzner-Cloud-Infrastruktur.
Find a file
Benjamin Weinlich 20025814e8 chore(agent): update briefings to reflect M7.3 doc mirror
Root Agent.md and stacks/forgejo/Agent.md had stale references to
"docs live in iCloud, will be mirrored in M7.3". Now M7.3 is done,
so the briefings point to docs/adr/ and docs/runbooks/ directly
with relative links that render as clickable in the Forgejo web UI.

The iCloud folder stays around for loose notes and credentials
that cannot go into a public repo, but the primary source of truth
for ADRs / runbooks / guides is now this repo.

Refs OP#1118
2026-04-11 22:26:24 +02:00
docs docs(runbooks,guides): mirror runbooks and Authentik OIDC guide 2026-04-11 22:26:24 +02:00
stacks chore(agent): update briefings to reflect M7.3 doc mirror 2026-04-11 22:26:24 +02:00
.gitignore chore(repo): initialize infrastructure-as-code repository 2026-04-11 22:19:10 +02:00
Agent.md chore(agent): update briefings to reflect M7.3 doc mirror 2026-04-11 22:26:24 +02:00
README.md chore(repo): initialize infrastructure-as-code repository 2026-04-11 22:19:10 +02:00

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
  • Dockerfiles
  • 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