Skip to content
Login

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):

Terminal window
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.

ModeYou manage tunnels inCredential
Agent (recommended)the hle.world dashboardagent token (hlea_…)
Web Appa UI inside the container, on port 8099API 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?
  1. Creates a Debian 13 LXC container (512 MB RAM, 4 GB disk)
  2. Installs Python 3 and either the HLE client (agent mode) or the HLE Web App
  3. Configures your agent token or API key
  4. Creates and starts hle-agent.service or hle-webapp.service
  5. 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:

Terminal window
pct exec <CTID> -- systemctl status hle-agent
pct exec <CTID> -- journalctl -u hle-agent -f
pct exec <CTID> -- systemctl restart hle-agent

To 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.

Terminal window
pct exec <CTID> -- systemctl status hle-webapp
pct exec <CTID> -- journalctl -u hle-webapp -f
pct exec <CTID> -- systemctl restart hle-webapp

Other 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:

Terminal window
curl -fsSL https://get.hle.world | sh -s -- --agent

That 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:

Terminal window
apt update && apt install -y python3 python3-pip pipx
pipx install hle-client
pipx ensurepath && source ~/.bashrc
hle auth login --api-key hle_your_key_here
hle service install \
--service https://YOUR_PROXMOX_IP:8006 \
--label proxmox \
--allow google:alex@gmail.com

hle 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:

Terminal window
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:headless

Then add endpoints in the dashboard pointing at https://YOUR_PROXMOX_IP:8006.

Or with an API key and per-tunnel commands:

Terminal window
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