Multi-site
Manage every Proxmox host from one dashboard. Add a site with a name, IP, and SSH key. Switch in a tap.
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.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/macokay/proxmox-hive/main/install.sh)"
Built for homelabbers who run multiple Proxmox hosts and got tired of SSHing into every container to run apt update.
Manage every Proxmox host from one dashboard. Add a site with a name, IP, and SSH key. Switch in a tap.
Detects available apt packages on the Proxmox host itself. See what’s pending before you touch a shell.
Tracks package updates inside every container via pct exec. Running containers only - offline ones skip politely.
Detects pending packages via QEMU guest agent. Debian- and Ubuntu-based guests covered out of the box.
Automatic scans at 08:00 and 20:00 - configurable. Group targets and stagger their update windows.
Watch apt-get stream straight back over WebSocket. No more “did that actually run?”
Discord, Slack, Microsoft Teams, or any generic webhook. Pick which alerts each channel receives.
Not just apt. Hive spots new releases of Plex, Jellyfin, Sonarr, Radarr, and friends - right in the grid.
First-run walks you through site, SSH, schedule, and channels. Up and running in under five minutes.
An illustrative recreation of the main view - container names and statuses are examples, not live data.
Hive runs as a Docker container next to your infrastructure and talks to Proxmox over SSH. No agents inside containers, no cloud round-trips.
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
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.
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
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
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.
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
systemctl reload sshd
ssh-keygen -t ed25519 -f ~/.ssh/pvehive -N ""
cat ~/.ssh/pvehive.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
cat ~/.ssh/pvehive
→ wizard: username root, paste private key
Password auth. Works, less secure. Switch to Option A as soon as possible.
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
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl reload sshd
→ wizard: username pvehive, select Password auth
| Server | Any host that can run Docker |
| Proxmox | Reachable via SSH from the Docker host |
| SSH access | Key-based (recommended) or password |
| Guest agent | Required on VMs for package detection |
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.
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.
Yes. Hive detects new releases of Plex, Jellyfin, Sonarr, Radarr, Prowlarr, Bazarr, qBittorrent, and more - alongside regular apt packages.
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.
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.
Free for personal, non-commercial use. Attribution appreciated. Commercial use is not permitted. See the repo for full terms.
One command. Five minutes. Every Proxmox host in one place - forever.