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 prompts for your API key and web UI port (default 8099), then creates a minimal Debian LXC, installs the HLE Web App, and starts it as a systemd service.
What does the script do?
- Creates a Debian 13 LXC container (512 MB RAM, 4 GB disk)
- Installs Python 3 and the HLE Web App
- Configures your API key
- Creates and starts
hle-webapp.service - Prints the web UI URL
~50 MB RAM at idle. The script is open source — inspect it at https://hle.world/scripts/proxmox-install.sh before running.
Manage
Once installed, open http://<container-ip>:8099 in your browser to create and manage tunnels visually.
For service management from the Proxmox host:
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 HLE CLI client inside it:
apt update && apt install -y python3 python3-pip pipxpipx install hle-clientpipx ensurepath && source ~/.bashrc
# Store your API keymkdir -p /etc/hleecho "HLE_API_KEY=hle_your_key_here" > /etc/hle/envchmod 600 /etc/hle/env
# Expose a servicesource /etc/hle/envhle expose --service https://YOUR_PROXMOX_IP:8006 \ --label proxmox \ --allow google:alex@gmail.comTo keep it running across reboots, create a systemd service:
[Unit]Description=HLE TunnelAfter=network-online.targetWants=network-online.target
[Service]Type=simpleEnvironmentFile=/etc/hle/envExecStart=/root/.local/bin/hle expose \ --service https://YOUR_PROXMOX_IP:8006 \ --label proxmox \ --allow google:alex@gmail.comRestart=alwaysRestartSec=10
[Install]WantedBy=multi-user.targetsystemctl daemon-reloadsystemctl enable --now hle-tunnelIf you already have a Docker VM on Proxmox:
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:latestExpose services from inside the container:
docker exec hle hle expose \ --service https://YOUR_PROXMOX_IP:8006 \ --label proxmox \ --allow google:alex@gmail.com