Proxmox VE Helper-Scripts
Proxmox VE Helper-Scripts
Install uptrakit as an LXC container on your Proxmox VE host using the Proxmox VE Helper-Scripts framework. This is the recommended install method for Proxmox-based home labs and self-hosted infrastructure.
What Gets Created
- Unprivileged Debian 13 LXC container
- 1 vCPU, 1 GB RAM, 4 GB disk
uptrakit-controller-standalonebinary (all services embedded — no Docker required)- SQLite database (zero external dependencies)
- Dedicated
uptrakitsystem user - Systemd service with automatic restart
Prerequisites
- Proxmox VE 8.x or 9.x (verified on 9.2)
- Internet access from the Proxmox host (for CT template download and binary fetch)
Installation
Run from the Proxmox VE host shell (not inside a CT):
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/uptrakit.sh)"
The script is pending merge into the official PVEHS repository. Until merged, run it directly from the uptrakit repository:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/worried-networking/uptrakit/main/scripts/pvehs/ct/uptrakit.sh)"
The script creates the LXC container, installs uptrakit, starts the service, and prints a completion banner with the CT IP address and registration token.
Post-Installation
1. Save the master key
The installer generates an encryption key stored in /opt/uptrakit/master.key inside the CT.
This key protects all secrets stored by uptrakit. Back it up — data encrypted by this
key is unrecoverable if the CT is destroyed and rebuilt.
# Inside the CT
cat /opt/uptrakit/master.key
Copy the contents of /opt/uptrakit/master.key to a password manager or offline backup.
2. Log in
Open https://<CT_IP>:8443 in a browser. Accept the self-signed certificate warning
(the controller issues its own CA on first start). Use the one-time registration token
shown in the install banner to create your admin account.
3. Enroll agents
After logging in, enroll agents via the web UI. No pre-generated enrollment token is required — the controller approves enrollment requests through the UI.
See SSH Agent Bootstrap for enrolling Linux hosts.
Host Provisioning
A fresh install automatically provisions the CT's local host: the installer calls
bootstrap-host, which writes the sudoers drop-in for the uptrakit user and installs
any plugin helper scripts (e.g. /usr/local/bin/uptrakit-phs-version), deriving the
grant list from the registered plugins rather than a blanket NOPASSWD: ALL. See
Sudoers Management for how the drop-in is
generated and validated.
Existing installations self-heal on the next update run — the update script re-runs
bootstrap-host, so new plugin sudo grants and helper scripts appear without a
reinstall. The command is idempotent: re-running it is always safe.
Bootstrap failure is non-fatal to install or update; the script prints a retry command and continues. To retry manually as root:
/usr/local/bin/uptrakit-controller-standalone agent bootstrap-host --user uptrakit
On a standalone uptrakit-agent host, the equivalent command is:
uptrakit-agent bootstrap-host --user uptrakit
Updating
Via PVEHS (recommended)
If you have the PVEHS update script installed on your Proxmox host, uptrakit updates alongside your other PVEHS-managed containers.
Manual update
Run the install script again from the Proxmox host shell — it detects an existing installation and updates the binary in place:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/worried-networking/uptrakit/main/scripts/pvehs/ct/uptrakit.sh)"
The service restarts automatically after the binary is replaced. Existing configuration, database, and master key are preserved.
If a PHS discovery run on another controller tracks this CT (via the worried-networking/uptrakit
source under scripts/pvehs/) and its release feed silently stops showing new versions, the
release tagging convention likely changed — clear or correct that item's per-host tag_prefix
override to recover.
Related Documentation
- Secrets and encryption — master key management and rotation
- Docker deployment — alternative deployment for non-Proxmox environments
- Reverse proxy deployment — putting uptrakit behind Nginx, Traefik, or Caddy