Proxmox VE
import { Tabs, TabItem } from ‘@astrojs/starlight/components’;
Proxmox VE is a virtualization platform with LXC containers and VMs. Use HLE to expose any service in your cluster securely, without opening ports on your router.
Install
Run this on your Proxmox host shell (as root):
bash -c "$(wget -qO- https://hle.world/scripts/proxmox-install.sh)"The script asks which mode you want, then creates a minimal Debian LXC and starts it as a systemd service.
| Mode | You manage tunnels in | Credential |
|---|---|---|
| Agent (recommended) | the hle.world dashboard | agent token (hlea_…) |
| Web App | a UI inside the container, on port 8099 | API key (hle_…) |
Agent mode is the better fit for Proxmox: one container fronts every service in the cluster, and you add or remove endpoints from the dashboard without touching the node. See the agent guide for the full picture.
What does the script do?
- Creates a Debian 13 LXC container (512 MB RAM, 4 GB disk)
- Installs Python 3 and either the HLE client (agent mode) or the HLE Web App
- Configures your agent token or API key
- Creates and starts
hle-agent.serviceorhle-webapp.service - Prints the status and next steps
~50 MB RAM at idle. The script is open source — inspect it at https://hle.world/scripts/proxmox-install.sh before running.
Get an agent token from Connections → New → Agent in the dashboard. It is shown only once.
Manage
Agent mode
Add endpoints in the dashboard — they go live within seconds, no restart. From the Proxmox host:
pct exec <CTID> -- systemctl status hle-agentpct exec <CTID> -- journalctl -u hle-agent -fpct exec <CTID> -- systemctl restart hle-agentTo expose the Proxmox web UI itself, add an endpoint pointing at
https://<proxmox-lan-ip>:8006.
Web app mode
Open http://<container-ip>:8099 in your browser to create and manage tunnels visually.
pct exec <CTID> -- systemctl status hle-webapppct exec <CTID> -- journalctl -u hle-webapp -fpct exec <CTID> -- systemctl restart hle-webappOther installation methods
Prefer a different approach? The script above is the fastest path, but these alternatives work too.
Create a Debian/Ubuntu LXC and install the agent inside it:
curl -fsSL https://get.hle.world | sh -s -- --agentThat installs the client, prompts for your agent token, and creates
hle-agent.service — running as root, it installs a system service that starts
at boot. Then add endpoints in the dashboard pointing at
https://YOUR_PROXMOX_IP:8006 and anything else on your LAN.
For a single fixed tunnel with an API key instead:
apt update && apt install -y python3 python3-pip pipxpipx install hle-clientpipx ensurepath && source ~/.bashrc
hle auth login --api-key hle_your_key_herehle service install \ --service https://YOUR_PROXMOX_IP:8006 \ --label proxmox \ --allow google:alex@gmail.comhle service install writes and starts the systemd unit for you; the API key
stays in ~/.config/hle/config.toml rather than in the unit file. Manage it with
systemctl status hle-proxmox.
If you already have a Docker VM on Proxmox, run the agent there:
docker run -d \ --name hle-agent \ --restart unless-stopped \ -e HLE_AGENT_TOKEN=hlea_your_token_here \ -v hle-agent-data:/data \ ghcr.io/hle-world/hle-docker:headlessThen add endpoints in the dashboard pointing at https://YOUR_PROXMOX_IP:8006.
Or with an API key and per-tunnel commands:
docker run -d \ --name hle \ --restart unless-stopped \ -e HLE_API_KEY=hle_your_key_here \ -v hle-data:/data \ ghcr.io/hle-world/hle-docker:latest
docker exec hle hle expose \ --service https://YOUR_PROXMOX_IP:8006 \ --label proxmox \ --allow google:alex@gmail.com