- llm.py: Text-Modell auf x-ai/grok-4.3 - telegram_bot.py: Fortschritts-Logik auf asyncio.wait_for + shield (15s Timeout) - monitor.py: Hermes-Healthchecks (CT151), Alert-Dedup, EXPECTED_STOPPED erweitert - core/loki_client.py: zentrale ERROR_EXCLUDE_RE fuer transiente cloudflared/QUIC-Flaps - Doku: JELLYFIN.md, infrastructure/STATE.md, hardware-ai-local-coding.md, sessions/ Bis 21.06. uncommittete Live-Edits, gesichert in backup/live-state-20260621. Ref #123.
157 lines
4.6 KiB
Markdown
157 lines
4.6 KiB
Markdown
# Infrastruktur — Live State
|
|
> Auto-generiert: 2026-04-17 22:00
|
|
|
|
## pve-hetzner Disk
|
|
| Mount | Belegt |
|
|
|---|---|
|
|
| / (root) | 59G 38% |
|
|
| /var/lib/vz (VMs/CTs) | 1.8T 37% |
|
|
|
|
## Aktive Container auf pve-hetzner
|
|
| CT | Name | Tailscale IP | Dienste |
|
|
|---|---|---|---|
|
|
| 101 | wordpress-v2 | 100.91.212.19 | WordPress + MySQL (Docker) — arakavanews.com |
|
|
| 103 | seafile | 100.75.247.60 | Seafile (Docker) |
|
|
| 109 | rss-manager | 100.113.244.101 | RSS Manager + Matomo — WP intern via http://10.10.10.101 |
|
|
| 110 | portainer | 100.109.206.43 | Portainer Docker UI + Loki Stack |
|
|
| 111 | forgejo | 100.89.246.60 | Forgejo Git Server |
|
|
| 112 | fuenfvoracht | 100.73.171.62 | FuenfVorAcht Telegram Bot |
|
|
| 113 | redax-wp | 100.69.243.16 | Redakteur WordPress KI-Autor + DeutschlandBlog |
|
|
| 115 | flugscanner-hub | 100.92.161.97 | Flugpreisscanner Hub + Scheduler |
|
|
| 116 | homelab-ai-bot (1 GB RAM) | 100.123.47.7 | Hausmeister Bot (Qwen3-VL 30B via Ollama/KI-Server, Text+Vision) + Save.TV Web-UI + web_search via SearXNG |
|
|
| 117 | memory-service | 100.121.192.94 | Memory Service API (FastAPI + SQLite) |
|
|
| 121 | deep-research | 100.74.196.29 | Open Deep Research + SearXNG — LangGraph API auf Port 2024 |
|
|
| 144 | muldenstein-backup | — | Backup-Archiv (Read-Only) |
|
|
| 999 | cluster-docu | 100.79.8.49 | Dokumentation |
|
|
|
|
## Container auf pve1 (Kambodscha)
|
|
(keine)
|
|
|
|
## Container auf pve3 (Muldenstein)
|
|
(keine)
|
|
|
|
## Routing (Cloudflare Tunnels)
|
|
- CT 101: arakavanews.com → :80 (aktiv)
|
|
- CT 101: arakava-news-2.orbitalo.net → 301→arakavanews.com (aktiv)
|
|
- CT 109: matomo.orbitalo.net → :80 (aktiv)
|
|
- CT 600: cam.arakavanews.com → :8080 (aktiv)
|
|
- CT 600: arakavanews.com → :80 (Standby)
|
|
- CT 601: rss-manager → :8080 (Standby)
|
|
|
|
## Zugangsdaten
|
|
- pve-hetzner: root / Astral-Proxmox!2026
|
|
- pve1: root / astral66
|
|
- Alle CTs: root / astral66
|
|
|
|
## Telegram Bots
|
|
| Bot | Zweck |
|
|
|---|---|
|
|
| @MutterbotAI_bot | Watchdog-Alerts |
|
|
| @Orbitalo_Hausmeister_bot | Homelab AI-Bot |
|
|
|
|
## Hermes CT151 Monitoring und Backup
|
|
|
|
Stand: 2026-05-16
|
|
|
|
Hermes (`hermes-mu`, CT151) ist als kritischer Dienst eingestuft und wird separat abgesichert.
|
|
|
|
### Proxmox / PBS Backup
|
|
|
|
Backup-Job auf `pve3` / `pve-mu-3`:
|
|
|
|
| Feld | Wert |
|
|
|------|------|
|
|
| Job-ID | `hermes-mu-backup` |
|
|
| VMID | `151` |
|
|
| Container | `hermes-mu` |
|
|
| Node | `pve3` |
|
|
| Ziel | `pbs-nvme` / Muldenstein PBS (`100.99.139.22:nvme-pool`) |
|
|
| Modus | `snapshot` |
|
|
| Kompression | `zstd` |
|
|
| Zeitplan | täglich `03:20` |
|
|
| Nachholen | `repeat-missed=1` |
|
|
| Prune | `keep-daily=7`, `keep-weekly=4`, `keep-monthly=3` |
|
|
|
|
Manuelles Safety-Backup wurde am 2026-05-16 erfolgreich erstellt:
|
|
|
|
```text
|
|
ct/151/2026-05-16T10:51:53Z
|
|
Dauer: 56s
|
|
Gesichert: ca. 6.15 GiB
|
|
Komprimiert übertragen: ca. 3.98 GiB
|
|
Ergebnis: Backup job finished successfully
|
|
```
|
|
|
|
PBS-Auslastung danach:
|
|
|
|
```text
|
|
pbs-nvme active, ca. 5.63% belegt
|
|
```
|
|
|
|
Schnelltest:
|
|
|
|
```bash
|
|
# Auf pve3 / pve-mu-3
|
|
pvesh get /cluster/backup/hermes-mu-backup --output-format json
|
|
pvesm status --storage pbs-nvme
|
|
```
|
|
|
|
### Prometheus / node_exporter
|
|
|
|
Auf CT151 ist `prometheus-node-exporter` installiert und aktiv.
|
|
|
|
```bash
|
|
systemctl is-active prometheus-node-exporter
|
|
curl -sS http://127.0.0.1:9100/metrics | grep -m1 '^node_uname_info'
|
|
```
|
|
|
|
Von CT116 / Hausmeister erreichbar über:
|
|
|
|
```bash
|
|
curl -sS http://100.109.174.120:9100/metrics
|
|
```
|
|
|
|
### Loki / Promtail
|
|
|
|
Auf CT151 läuft `promtail` und schickt Logs mit Host-Label `hermes-mu` an Loki.
|
|
|
|
Wichtige Checks:
|
|
|
|
```bash
|
|
systemctl is-active promtail
|
|
curl -sS http://100.109.174.120:9080/ready
|
|
```
|
|
|
|
### Hermes-Service-Checks
|
|
|
|
Aktive Dienste auf CT151:
|
|
|
|
```bash
|
|
systemctl is-active hermes-gateway beellama-tunnel promtail prometheus-node-exporter
|
|
curl -sS http://127.0.0.1:11435/v1/models
|
|
```
|
|
|
|
Der lokale BeeLlama/OpenAI-kompatible Tunnel lauscht in CT151 auf `127.0.0.1:11435`; er ist deshalb von CT116 nicht direkt per HTTP erreichbar. Der Health-Check erfolgt lokal auf CT151 bzw. indirekt über Hermes/Hausmeister.
|
|
|
|
### Hausmeister-Integration
|
|
|
|
Hausmeister (`CT116`) enthält in `/opt/homelab-ai-bot/monitor.py` einen `check_hermes()`.
|
|
|
|
Der Check prüft:
|
|
|
|
- Hermes Promtail: `http://100.109.174.120:9080/ready`
|
|
- Hermes node_exporter: `http://100.109.174.120:9100/metrics`
|
|
- Websuche/SearXNG CT121: `http://100.74.196.29:8080/search?...`
|
|
- Loki: `http://100.109.206.43:3100/ready`
|
|
- PBS Muldenstein: `https://100.99.139.22:8007`
|
|
- Loki-Health für Host `hermes-mu`
|
|
- auffällige Hermes-Logs der letzten 30 Minuten
|
|
|
|
Harmloser `node_exporter`-Diskstats-Logspam (`diskstats_linux.go`, `disabling udev device properties`) wird gefiltert.
|
|
|
|
Finaler Test am 2026-05-16:
|
|
|
|
```text
|
|
monitor.check_hermes() -> OK
|
|
hausmeister-bot.service -> active
|
|
```
|