Self-hosted Homelab Update Management
  • Python 50.4%
  • TypeScript 44.7%
  • Shell 4.4%
  • Dockerfile 0.2%
  • JavaScript 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 11:09:39 +00:00
backend fix: Update-Prüfung versteht "git describe"-Versionen 2026-09-26 13:00:43 +02:00
deploy feat: Selbst-Update im Docker-Betrieb per Klick aus der Weboberfläche (#16) 2026-09-26 07:25:31 +02:00
docs docs: Installationsanleitung korrigiert — git, Bare-Metal-Weg, Version 2026-09-26 13:03:09 +02:00
frontend fix: Update-Prüfung versteht "git describe"-Versionen 2026-09-26 13:00:43 +02:00
scripts docs: Wiki ins Repository unter docs/ verschoben und auf den aktuellen Stand gebracht 2026-09-26 09:01:57 +02:00
tests fix: Update-Prüfung versteht "git describe"-Versionen 2026-09-26 13:00:43 +02:00
.dockerignore Sicherheits-Fixes, Lizenz, Deployment und Dev-Tooling fürs öffentliche Beta-Release 2026-08-06 20:03:41 +02:00
.env.example docs: Wiki ins Repository unter docs/ verschoben und auf den aktuellen Stand gebracht 2026-09-26 09:01:57 +02:00
.gitignore chore: Version aus Git-Tag ableiten statt einzuchecken, .claude/ nicht mehr versionieren 2026-08-15 13:13:18 +02:00
docker-compose.yml feat: Selbst-Update im Docker-Betrieb per Klick aus der Weboberfläche (#16) 2026-09-26 07:25:31 +02:00
Dockerfile feat: Selbst-Update im Docker-Betrieb per Klick aus der Weboberfläche (#16) 2026-09-26 07:25:31 +02:00
LICENSE Projektnamen einheitlich auf PatchPilot angepasst 2026-08-08 08:48:48 +02:00
package-lock.json Projektnamen einheitlich auf PatchPilot angepasst 2026-08-08 08:48:48 +02:00
pyproject.toml Sicherheits-Fixes, Lizenz, Deployment und Dev-Tooling fürs öffentliche Beta-Release 2026-08-06 20:03:41 +02:00
README.md docs: Benutzer und Rollen dokumentieren 2026-09-26 12:51:03 +02:00
requirements-dev.txt chore: Sicherheits-Updates und verbindliche Versionen (#11) 2026-09-17 18:33:08 +02:00
requirements.in chore: Sicherheits-Updates und verbindliche Versionen (#11) 2026-09-17 18:33:08 +02:00
requirements.txt chore: Sicherheits-Updates und verbindliche Versionen (#11) 2026-09-17 18:33:08 +02:00

PatchPilot-Logo

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-upgrade aktualisiert.
  • 🔁 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:

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.