Self-hosted Homelab Update Management
- Python 50.4%
- TypeScript 44.7%
- Shell 4.4%
- Dockerfile 0.2%
- JavaScript 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| backend | ||
| deploy | ||
| docs | ||
| frontend | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| package-lock.json | ||
| pyproject.toml | ||
| README.md | ||
| requirements-dev.txt | ||
| requirements.in | ||
| requirements.txt | ||
PatchPilot
Self-hosted Update-Management fürs Homelab.
PatchPilot behält für dich im Blick, welche deiner Linux-Server (LXC, VM, Unraid, Bare-Metal) und
Proxmox-Hosts gerade veraltete Pakete haben — und lässt dich Updates kontrolliert, mit Sicherheitsnetz und
live mitverfolgbar, direkt über eine Web-Oberfläche ausrollen. Kein Cronjob, der nachts einfach
apt upgrade durchzieht und du weißt nicht, was passiert ist.
Was PatchPilot kann
- 🔍 Automatische Scans — findet auf allen konfigurierten Servern verfügbare Updates, nach Zeitplan oder auf Knopfdruck.
- 🖥️ Kontrollierte Updates per Web-UI — Update starten, Live-Log per Server-Sent Events mitverfolgen, bei interaktiven Prompts direkt aus dem Browser antworten.
- 📸 Proxmox-Snapshots vor dem Update — automatisches Sicherheitsnetz, wenn der Zielserver eine Proxmox-VM/-Container ist (ZFS/LVM-thin/Ceph). Aufgeräumt wird zentral: alle Snapshots aller Server in einer Liste, mehrere auf einmal löschen.
- 🗄️ Proxmox-Hosts selbst — die Nodes deiner Proxmox-Zugänge werden automatisch übernommen,
mitgescannt und mit
dist-upgradeaktualisiert. - 🔁 Neustart per Klick — PatchPilot erkennt, wenn ein Server nach Updates neu starten muss, startet ihn auf Wunsch direkt neu und wartet, bis er wieder da ist.
- 📜 Eigene Scripts — nicht nur
apt upgrade: beliebige Bash-Scripts auf einzelnen oder mehreren Servern ausführen, mit Zeitplänen und Zielserver-Auswahl. - 💬 Benachrichtigungen per Matrix und E-Mail — wird informiert, wenn Updates verfügbar sind
oder ein Update durchgelaufen ist — jedes Ereignis einzeln schaltbar; Status und Scans auch
direkt aus dem Chat (
!scan,!status). - 🔄 Selbst-Update per Klick — auch im Docker-Betrieb, ohne dass der Container Zugriff auf den Docker-Socket bekommt; Kanäle Beta/Stable, auf Wunsch automatisch.
- 💾 Backup & Wiederherstellung — komplette Konfiguration inklusive SSH-Schlüsseln verschlüsselt sichern und auf einem neuen Server wieder einspielen.
- 👥 Mehrere Benutzer mit Rollen — Admin, Operator (darf Updates ausführen, aber nichts konfigurieren) und Nur-Lesen.
- 🔐 Für den lokalen Betrieb gedacht — läuft nicht als
root, JWT-Login, Zugangsdaten werden nie im Klartext an den Client zurückgegeben.
Loslegen
Alle Anleitungen liegen im Ordner docs/ dieses Repositorys:
- Installation — Docker (Debian/Ubuntu) oder ohne Docker per systemd
- Proxmox-Hosts und Snapshots — Snapshots vor Updates und die Proxmox-Hosts selbst aktualisieren
- Matrix-Benachrichtigungen einrichten — Schritt für Schritt inkl. Bot-Account, privatem Raum und den richtigen Sicherheitseinstellungen
- E-Mail-Benachrichtigungen einrichten — per SMTP, nur ausgehend
- Selbst-Update — wie PatchPilot sich aktuell hält, Update per Klick im Docker-Betrieb
- Server neu starten — „Neustart nötig“ erkennen und per Klick neu starten
- Benutzer und Rollen — Benutzer anlegen, was welche Rolle darf
- Backup & Wiederherstellung — sichern und umziehen
- Entwicklung — Tech-Stack, Architektur, API, Release-Ablauf, bekannte Stolperfallen
Wie die Abhängigkeiten festgehalten, geprüft und aktualisiert werden, steht in
docs/SECURITY-NOTES.md.
Lizenz
AGPL-3.0 mit Commons-Clause-Zusatz (kein kommerzieller Weiterverkauf/Hosting
als Dienstleistung ohne Zustimmung) — siehe LICENSE für den vollständigen Text.