loading release…

One dashboard for every Proxmox update.

Monitor and apply updates across your Proxmox nodes, LXC containers, and VMs - from a single self-hosted interface. Scheduled checks, live terminal, webhooks. Yours to run, yours to own.

one-liner bash -c "$(curl -fsSL https://raw.githubusercontent.com/macokay/proxmox-hive/main/install.sh)"
MIT-adjacent · Non-commercial · Docker ready
Proxmox VE· LXC· QEMU VMs· Debian / Ubuntu guests· Plex · Jellyfin · Sonarr · Radarr· Discord · Slack · Teams webhooks· Docker· Proxmox VE· LXC· QEMU VMs· Debian / Ubuntu guests· Plex · Jellyfin · Sonarr · Radarr· Discord · Slack · Teams webhooks· Docker
Features

Everything you need. Nothing to babysit.

Built for homelabbers who run multiple Proxmox hosts and got tired of SSHing into every container to run apt update.

Multi-site

Manage every Proxmox host from one dashboard. Add a site with a name, IP, and SSH key. Switch in a tap.

Node updates

Detects available apt packages on the Proxmox host itself. See what’s pending before you touch a shell.

LXC updates

Tracks package updates inside every container via pct exec. Running containers only - offline ones skip politely.

VM updates

Detects pending packages via QEMU guest agent. Debian- and Ubuntu-based guests covered out of the box.

Scheduled checks

Automatic scans at 08:00 and 20:00 - configurable. Group targets and stagger their update windows.

Live terminal

Watch apt-get stream straight back over WebSocket. No more “did that actually run?”

Notifications

Discord, Slack, Microsoft Teams, or any generic webhook. Pick which alerts each channel receives.

App updates

Not just apt. Hive spots new releases of Plex, Jellyfin, Sonarr, Radarr, and friends - right in the grid.

Setup wizard

First-run walks you through site, SSH, schedule, and channels. Up and running in under five minutes.

The dashboard

What you actually see.

An illustrative recreation of the main view - container names and statuses are examples, not live data.

https://hive.homelab.local
Preview · illustrative
homelab-01
3h ago
6 updates available
Next check: 08:00 and 20:00
Proxmox Node
Host OS packages
Up to date
📦
web-server
CT 201 · running
2 updates
📦
db-primary
CT 202 · running
Up to date
📦
reverse-proxy
CT 203 · running
4 updates
📦
monitoring
CT 204 · running
Up to date
📦
backup-agent
CT 205 · running
Up to date
📦
staging-env
CT 206 · stopped
Offline
🖥️
ubuntu-dev
VM 301 · running
Up to date
🖥️
test-vm
VM 302 · stopped
Offline
How it works

One SSH key. Everything visible.

Hive runs as a Docker container next to your infrastructure and talks to Proxmox over SSH. No agents inside containers, no cloud round-trips.

YOU
Browser
:3000
HTTP
DOCKER HOST
Proxmox Hive
scheduler · websocket · webhooks
SSH · key
PROXMOX VE
Node
apt · pct · qm
LXC · pct exec
VM · qemu-guest-agent
Installation

Up in under five minutes.

Three ways to run it. The automatic installer is the one most people want.

Run on your Proxmox node. The installer detects what you have and asks once whether to drop Hive into a dedicated LXC or install directly on the node.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/macokay/proxmox-hive/main/install.sh)"

→ opens http://<ip>:3000 · setup wizard handles the rest

Recommended. Creates a Debian 12 container, installs Docker and Hive inside it, configures console auto-login.

# on the Proxmox node:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/macokay/proxmox-hive/main/install.sh)"

# pick:  [1] New LXC container

→ dedicated container · isolated from host · auto-login on console

You already have a Docker host. Clone and docker compose up.

git clone https://github.com/macokay/proxmox-hive.git
cd proxmox-hive
docker compose up -d

→ open http://<your-server>:3000 and run the setup wizard

SSH access

Pick how Hive reaches Proxmox.

Run these in the Proxmox Shell tab or over ssh root@PROXMOX-IP. Option A is the recommended path.

A dedicated low-privilege user. SSH key only. Limits blast radius if credentials ever leak.

1Create user + restricted sudo
apt install sudo -y
adduser pvehive --disabled-password --gecos ""
echo "pvehive ALL=(ALL) NOPASSWD: /usr/bin/apt*,/usr/sbin/pct" | tee /etc/sudoers.d/pvehive
chmod 440 /etc/sudoers.d/pvehive
2Generate & install SSH key
ssh-keygen -t ed25519 -f ~/.ssh/pvehive -N ""
mkdir -p /home/pvehive/.ssh
cat ~/.ssh/pvehive.pub >> /home/pvehive/.ssh/authorized_keys
chmod 700 /home/pvehive/.ssh && chmod 600 /home/pvehive/.ssh/authorized_keys
chown -R pvehive:pvehive /home/pvehive/.ssh
3Print private key (paste into Hive)
cat ~/.ssh/pvehive

→ wizard: username pvehive, paste private key

No extra user. The SSH key has full root access to the host - simpler, heavier blast radius.

1Allow root SSH key login
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
systemctl reload sshd
2Generate & install SSH key
ssh-keygen -t ed25519 -f ~/.ssh/pvehive -N ""
cat ~/.ssh/pvehive.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
3Print private key (paste into Hive)
cat ~/.ssh/pvehive

→ wizard: username root, paste private key

Password auth. Works, less secure. Switch to Option A as soon as possible.

1Create user with password
apt install sudo -y
adduser pvehive --gecos ""
echo "pvehive ALL=(ALL) NOPASSWD: /usr/bin/apt*,/usr/sbin/pct" | tee /etc/sudoers.d/pvehive
chmod 440 /etc/sudoers.d/pvehive
passwd pvehive
2Enable password authentication
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl reload sshd

→ wizard: username pvehive, select Password auth

Requirements

What you need

ServerAny host that can run Docker
ProxmoxReachable via SSH from the Docker host
SSH accessKey-based (recommended) or password
Guest agentRequired on VMs for package detection
Known limitations

What to expect

  • LXC containers must be running to have packages checked or updated.
  • VM package detection requires the QEMU guest agent.
  • One Proxmox node per site.
  • Unrecognised guest OSes show an Unsupported OS badge and are skipped.
FAQ

Questions people actually ask.

Is this safe to point at my production Proxmox?

Option A (restricted user + SSH key) was designed for exactly this. The pvehive user can only run apt and pct via sudo - nothing else. Start there.

Does it actually apply updates or just show them?

Both. By default it reports what’s pending. When you trigger an update - manually from the UI or automatically via an Auto-Update Group - it runs apt-get dist-upgrade on the selected targets and streams the log to your browser.

Will it work with Jellyfin / Plex / the *arr stack?

Yes. Hive detects new releases of Plex, Jellyfin, Sonarr, Radarr, Prowlarr, Bazarr, qBittorrent, and more - alongside regular apt packages.

How does self-update work?

When a new release ships, a banner shows up in the dashboard with an Update now button. It pulls the new image and restarts the container. You can also schedule Hive to update itself in an Auto-Update Group.

Where is my configuration stored?

In a Docker volume called proxmox-hive-data, at /data/config.json inside the container. Back that up; it’s all the state there is.

What’s the license?

Free for personal, non-commercial use. Attribution appreciated. Commercial use is not permitted. See the repo for full terms.

Stop chasing updates. Run Hive.

One command. Five minutes. Every Proxmox host in one place - forever.