phase3+4: Homelab-Teil (Ausfuehrer, Ziele, Jetzt updaten mit Rueckweg) und Seite Homelab fuer alle Geraete

- deploy/homelab/ausfuehrer.py: laeuft als root auf dem Proxmox-Host, holt Auftraege beim Homelab-Teil
  ab (Pull, kein offener Port), feste Aktionsliste, prueft Etiketten selbst; Bericht gegen den echten
  Host erprobt (nur lesend). Kein Proxmox-Schluessel im Container noetig.
- services/homelab: Kanal mit gemeinsamem Geheimnis, App-Katalog, Inventar -> Ziele im gemeinsamen
  Modell (GitHub-Versionen, Webpruefung, alte Paketlisten = unklar), Jetzt updaten: Snapshot ->
  Update -> Pruefung -> bei Rot zurueck + dringende Meldung
- Waechter in der Rolle homelab: Ausfuehrer schweigt, Gaeste antworten nicht
- kern/github.py fuer beide Rollen (auch untagged Releases mit Version im Namen)
- Oberflaeche: Seite Homelab zeigt alle Geraete als Karten (KI-Box ueber /api/ziele, Homelab ueber
  /api/homelab/ziele) mit Stand, Rueckweg und Knopf samt Rueckfrage
- Einrichtung als Skripte (container-anlegen, ausrollen, ausfuehrer-einrichten, box-partner) — noch
  nicht ausgefuehrt, jeder Schritt braucht das User-OK
- frontend-bauen-box.sh: Frontend-Pruefung und Build auf der Box, wenn der PC keinen Speicher hat

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-24 18:39:59 +02:00
co-authored by Claude Opus 5.5
parent a47489fa85
commit 5e9227c4a3
66 changed files with 2472 additions and 170 deletions
+215
View File
@@ -0,0 +1,215 @@
{
"zeit": "2026-09-24T16:26:04+00:00",
"host": {
"node": "pve",
"neustart_noetig": false,
"version": "9.2.11",
"updates": [
{
"paket": "libvirt-common",
"alt": "11.3.0-3+deb13u2",
"neu": "11.3.0-3+deb13u3",
"herkunft": "Debian"
},
{
"paket": "librados2",
"alt": "19.2.3-pve1",
"neu": "19.2.6-pve4",
"herkunft": "Proxmox"
},
{
"paket": "libperl5.40",
"alt": "5.40.1-6",
"neu": "5.40.1-6+deb13u1",
"herkunft": "Debian"
},
{
"paket": "pve-docs",
"alt": "9.2.4",
"neu": "9.2.12",
"herkunft": "Proxmox"
},
{
"paket": "pve-edk2-firmware-ovmf",
"alt": "4.2025.05-3",
"neu": "4.2026.08-1",
"herkunft": "Proxmox"
}
],
"kernel": "7.0.14-12-pve"
},
"gaeste": [
{
"vmid": 100,
"art": "lxc",
"name": "adguard",
"status": "running",
"etiketten": [
"adblock",
"community-script"
],
"erlaubt": true,
"uptime": 3366322,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": true,
"snapshot_grund": null,
"ostype": "debian",
"ip": "192.168.178.100",
"app": {
"kennung": "adguard",
"version": "0.107.79"
},
"os_updates": {
"anzahl": 0,
"listen_stand": 1761157469
}
},
{
"vmid": 101,
"art": "lxc",
"name": "npmplus",
"status": "running",
"etiketten": [
"community-script",
"nginx",
"proxy"
],
"erlaubt": true,
"uptime": 2868368,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": true,
"snapshot_grund": null,
"ostype": "alpine",
"ip": "192.168.178.110",
"app": {
"kennung": "npmplus",
"version": "Image vom 2026-08-27"
},
"os_updates": {
"anzahl": 0,
"listen_stand": 1787398997
}
},
{
"vmid": 102,
"art": "lxc",
"name": "netbird",
"status": "running",
"etiketten": [
"community-script",
"network",
"vpn"
],
"erlaubt": true,
"uptime": 3366322,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": true,
"snapshot_grund": null,
"ostype": "debian",
"ip": "192.168.178.148",
"app": {
"kennung": "netbird",
"version": "0.77.1"
},
"os_updates": {
"anzahl": 0,
"listen_stand": 1787399037
}
},
{
"vmid": 103,
"art": "lxc",
"name": "pve-scripts-local",
"status": "running",
"etiketten": [
"community-script",
"pve-scripts-local"
],
"erlaubt": true,
"uptime": 1713361,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": true,
"snapshot_grund": null,
"ostype": "debian",
"ip": "192.168.178.149",
"app": {
"kennung": "pve-scripts-local",
"version": "0.5.8"
},
"os_updates": {
"anzahl": 0,
"listen_stand": 1777589263
}
},
{
"vmid": 104,
"art": "lxc",
"name": "gitea",
"status": "running",
"etiketten": [
"community-script",
"git"
],
"erlaubt": true,
"uptime": 3366321,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": true,
"snapshot_grund": null,
"ostype": "debian",
"ip": "192.168.178.153",
"app": {
"kennung": "gitea",
"version": "1.27.2"
},
"os_updates": {
"anzahl": 0,
"listen_stand": 1781978337
}
},
{
"vmid": 105,
"art": "lxc",
"name": "proxmox-backup-server",
"status": "running",
"etiketten": [
"backup",
"community-script"
],
"erlaubt": true,
"uptime": 3366321,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": false,
"snapshot_grund": "Bind-Mount mp0 (/mnt/qnap-backup/pbs-datastore) — nur Backup möglich",
"ostype": "debian",
"ip": "192.168.178.156",
"app": {
"kennung": "proxmox-backup-server",
"version": "4.2.5-1"
},
"os_updates": {
"anzahl": 58,
"listen_stand": 1790207866
}
},
{
"vmid": 106,
"art": "qemu",
"name": "arcane",
"status": "running",
"etiketten": [],
"erlaubt": false,
"uptime": 1713735,
"snapshots": [],
"onboot": true,
"snapshot_moeglich": true,
"snapshot_grund": null,
"ip": "192.168.178.28"
}
]
}