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 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?
  1. Creates a Debian 13 LXC container (512 MB RAM, 4 GB disk)
  2. Installs Python 3 and the HLE Web App
  3. Configures your API key
  4. Creates and starts hle-webapp.service
  5. 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:

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 HLE CLI client inside it:

Terminal window
apt update && apt install -y python3 python3-pip pipx
pipx install hle-client
pipx ensurepath && source ~/.bashrc
# Store your API key
mkdir -p /etc/hle
echo "HLE_API_KEY=hle_your_key_here" > /etc/hle/env
chmod 600 /etc/hle/env
# Expose a service
source /etc/hle/env
hle expose --service https://YOUR_PROXMOX_IP:8006 \
--label proxmox \
--allow google:alex@gmail.com

To keep it running across reboots, create a systemd service:

/etc/systemd/system/hle-tunnel.service
[Unit]
Description=HLE Tunnel
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
EnvironmentFile=/etc/hle/env
ExecStart=/root/.local/bin/hle expose \
--service https://YOUR_PROXMOX_IP:8006 \
--label proxmox \
--allow google:alex@gmail.com
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Terminal window
systemctl daemon-reload
systemctl enable --now hle-tunnel

If you already have a Docker VM on Proxmox:

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

Expose services from inside the container:

Terminal window
docker exec hle hle expose \
--service https://YOUR_PROXMOX_IP:8006 \
--label proxmox \
--allow google:alex@gmail.com