uptrakit

Track upstream updates across your homelab. You decide when to apply them.

Uptrakit is a self-hosted update tracking toolkit for Linux homelabs and small fleets. It checks upstream sources on a schedule, surfaces what's new, and gives you control over when and how updates run.

What it does

Track versions

Records the installed version of every tracked item across multiple hosts.

Plugin upstream checks

Pluggable sources — GitHub Releases, Proxmox VE Helper-Scripts, package managers.

Notifications

Get pinged by webhook, Telegram, or email when new releases land for the things you track.

Home Assistant ready

Each tracked item appears as an update entity via MQTT auto-discovery.

A look inside

Uptrakit dashboard showing hosts, services, and recent updates
Dashboard — hosts, services, and recent activity at a glance.
Uptrakit software list with version and plugin badges
Software list — tracked items with version, plugin source, and update state.
Uptrakit software detail page showing per-host status and update controls
Item detail — per-host status, version diff, and update controls.
Uptrakit update history feed with success and failure entries
Update history — outcomes, logs, and the user who triggered each run.

Will and won't

Will

  • Track versions across hosts
  • Run updates from the UI or API
  • Expose a Web UI and HTTP API
  • Integrate with Home Assistant over MQTT

Won't

  • Phone home or report telemetry
  • Accept inbound connections on agents
  • Run privileged operations beyond the sudo allowlist
  • Mix tenants — every resource is scoped to one

Security stance

Topology

   upstream sources
   (GitHub Releases, PHS, package managers, …)
            │
            ▼
   ┌──────────────────┐         ┌────────────────┐
   │   Controller     │ ◀─────▶ │ Home Assistant │
   │  (Web UI + API)  │   MQTT  │    (updates)   │
   └────────┬─────────┘         └────────────────┘
            │
            │  WebSocket (controller-initiated)
            ▼
   ┌──────────────────┐
   │     Agents       │
   │  (no inbound)    │
   └──────────────────┘
  

Get involved

Issues, ideas, and pull requests are welcome. See CONTRIBUTING.md for project conventions, and SECURITY.md for the disclosure policy.