95 lines
4.7 KiB
Text
95 lines
4.7 KiB
Text
# Orbitalo Homelab — KI Router
|
|
# REGEL: Nur diese Datei beim Start lesen. Dann NUR den einen relevanten Doc laden.
|
|
# Nie mehr als 1 STATE.md gleichzeitig in den Kontext laden.
|
|
|
|
## Quelle der Wahrheit
|
|
|
|
**`homelab-brain/homelab.conf`** = EINZIGE Datei mit IPs, URLs, Containern, Passwörtern, Tokens.
|
|
Vor JEDER Aktion mit variablen Daten: `cat homelab-brain/homelab.conf` lesen.
|
|
Daten ändern = NUR `homelab.conf` editieren + auf pve-hetzner deployen.
|
|
|
|
## Routing-Tabelle
|
|
| Aufgabe betrifft... | Lade diese Datei |
|
|
|-----------------------------------|------------------------------|
|
|
| IPs, URLs, Credentials, Container | homelab.conf |
|
|
| WordPress / RSS / Arakava News | arakava-news/STATE.md |
|
|
| Redakteur / WordPress KI-Autor | redax-wp/STATE.md |
|
|
| Flugpreisscanner / Selenium | flugpreisscanner/STATE.md |
|
|
| Gold / Silber / Edelmetall-Bot | edelmetall/STATE.md |
|
|
| Smart Home / ioBroker / Grafana | smart-home/STATE.md |
|
|
| ESP32 / Display / Heizung | esp32/PLAN.md |
|
|
| FönfVorAcht / Telegram KI-Poster | fuenfvoracht/STATE.md |
|
|
| Server / Container / Proxmox | infrastructure/STATE.md |
|
|
| Telegram Bots allgemein | infrastructure/STATE.md |
|
|
| TODOs / Aufgaben / Was steht an | Forgejo Issues (siehe unten) |
|
|
| Alle Projekte / Übersicht | MASTER_INDEX.md |
|
|
|
|
## Server-Übersicht (Details in homelab.conf)
|
|
|
|
| Logischer Name | Hostname | Standort |
|
|
|---|---|---|
|
|
| pve-hetzner | pve-hetzner | Hetzner DC |
|
|
| pve-ka-1 | pve1 | Kambodscha |
|
|
| pve-ka-2 | pve-Shops | Kambodscha |
|
|
| pve-ka-3 | pve3 | Kambodscha |
|
|
| pve-mu-2 | pve2 | Muldenstein |
|
|
| pve-mu-3 | pve3 | Muldenstein |
|
|
| pve-pp-1 | pve-pp-1 | Phnom Penh (Kondo) |
|
|
| pve-pp-2 | pve-pp-2 | Phnom Penh (Kondo) |
|
|
| pve-he | helmut-pve | Ramsin (bei Helmut) |
|
|
|
|
**Achtung:** pve3 existiert zweimal (Kambodscha + Muldenstein). Immer den logischen Namen verwenden!
|
|
|
|
## TODO-Liste (Forgejo)
|
|
Forgejo-URL und Token stehen in `homelab.conf` (FORGEJO_TOKEN).
|
|
- Lesen: `source homelab-brain/homelab.conf && curl -s -H "Authorization: token $FORGEJO_TOKEN" http://$(grep CT_111_HZ homelab-brain/homelab.conf | cut -d'|' -f2):3000/api/v1/repos/orbitalo/homelab-brain/issues?state=open`
|
|
- Neues TODO: POST an `/api/v1/repos/orbitalo/homelab-brain/issues` mit `{"title":"...","body":"...","labels":[ID]}`
|
|
- Erledigt: PATCH mit `{"state":"closed"}`
|
|
|
|
## Server-Zugang
|
|
Alle IPs und Passwörter stehen in `homelab.conf`. Keine Duplikate hier.
|
|
Schnellzugriff (von monitoring-bot): `ssh pve-hetzner` — SSH-Config + Key-Auth, kein Passwort nötig
|
|
Fallback mit Passwort: `source homelab-brain/homelab.conf && sshpass -p "$PW_HETZNER" ssh root@$SRV_HETZNER`
|
|
|
|
## Cursor / monitoring-bot (Arbeitsmaschine)
|
|
- CT 116 als LXC auf **pve-hetzner** (Doku korrigiert: zuvor irrtümlich pve-mu-2) | Host-IP/Tailscale des Hypervisors: **`homelab.conf`** (`SRV_HETZNER` etc.) | Zugriff: `ssh …` + `pct exec 116 -- …` | Debian 13 | 3.4 GB RAM
|
|
- Tailscale läuft im Userspace-Modus (LXC, kein TUN-Device) — SOCKS5 auf localhost:1055
|
|
- SSH-Config: ~/.ssh/config — alle Homelab-Hosts per Kurzname erreichbar
|
|
- Key-Auth zu: pve-hetzner, pve-mu-2, pve-mu-3, pbs-mu, pve-pp-1, pve-pp-2, helmut-pve, forgejo, portainer-hetzner
|
|
- Bei Neustart: `systemctl restart tailscaled && tailscale up --netfilter-mode=off`
|
|
|
|
## Deployment — PFLICHT-Workflow
|
|
|
|
Code-Änderungen IMMER über das Deploy-Skript ausrollen:
|
|
```bash
|
|
./homelab-brain/scripts/deploy.sh "Beschreibung"
|
|
```
|
|
|
|
**Was es tut:** git commit → push Forgejo → ssh pve-hetzner git pull → Bot restart
|
|
|
|
**NIEMALS:**
|
|
- `scp` oder `pct push` für Bot-Dateien verwenden
|
|
- Dateien direkt auf pve-hetzner editieren
|
|
- Änderungen ohne sofortigen Push machen (sync-state.sh überschreibt!)
|
|
|
|
**Warum:** CT 116 (Hausmeister-Bot) hat einen Bind-Mount auf `/opt/homelab-brain/homelab-ai-bot/`.
|
|
Git-Pull auf pve-hetzner = Bot sieht Änderungen sofort. Kein manuelles Kopieren nötig.
|
|
|
|
**Architektur:**
|
|
```
|
|
Cursor (pve-hetzner) → Forgejo (CT 111) → /opt/homelab-brain/
|
|
edit+push git repo lokal
|
|
↓ Bind-Mount
|
|
CT 116 /opt/homelab-ai-bot/
|
|
```
|
|
Fallback: Cursor auf pve-ka-1 (100.122.56.60).
|
|
|
|
## Goldene Regeln
|
|
1. Kontextfenster schonen — nie mehr laden als nötig
|
|
2. `homelab.conf` lesen vor jeder Infrastruktur-Aktion
|
|
3. STATE.md Dateien sind auto-generiert — niemals manuell editieren
|
|
4. Variable Daten ändern = `homelab.conf` editieren, sonst NICHTS
|
|
5. Bei Unklarheit: MASTER_INDEX.md lesen, nicht raten
|
|
6. MCP-Tools nutzen fuer Live-Daten: homelab_get_errors, homelab_all_containers, homelab_query_logs, etc.
|
|
7. Server immer mit logischem Namen referenzieren (pve-ka-3, nicht "pve3")
|
|
8. Code-Änderungen NUR über `scripts/deploy.sh` deployen — KEIN scp/pct push
|