Proxmox is the homelab standard for good reason — it gives you VM and container management, built-in backup, and live migration on commodity hardware. Deploying OpenClaw on Proxmox is the right call if you're already running the platform. Here's the complete guide.
VM vs LXC: Which to Choose
For OpenClaw specifically, LXC wins on every practical metric unless you have a specific reason for VM-level isolation.
- LXC containers: 512MB-1GB RAM overhead, 5-second boot, shared kernel, instant resize
- VMs: 512MB+ hypervisor overhead on top of the guest OS, 30-60s boot, full kernel isolation, more complex networking
Use a VM if you're pairing OpenClaw with GPU workloads (PCIe passthrough), running Windows-only dependencies, or your security requirements demand full kernel isolation. Otherwise, LXC is faster to set up and cheaper on resources.
LXC Container Setup
# In Proxmox web UI: Create CT
# Template: debian-12-standard
# CPU: 2 cores
# RAM: 2048 MB
# Swap: 512 MB
# Disk: 8 GB on local-lvm
# Network: vmbr0, DHCP or static IP
# After container starts, open console:
apt update && apt upgrade -y
apt install python3.11 python3.11-venv python3-pip -y
useradd -m -s /bin/bash openclaw
su - openclaw
python3.11 -m venv /home/openclaw/venv
source /home/openclaw/venv/bin/activate
pip install openclaw
openclaw init
Create the systemd service (same as the self-hosted guide), then enable and start it. The container auto-starts with Proxmox if you set Start at boot in the container options.
VM Setup
If you choose a VM: create a new VM with 2 vCPU, 2048MB RAM, and a 20GB virtio disk. Install Ubuntu 22.04 from ISO. After installation, follow the same steps as the self-hosted guide — the process is identical to any Ubuntu server deployment.
Enable the QEMU Guest Agent for better Proxmox integration:
apt install qemu-guest-agent -y
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
Networking & Reverse Proxy
The cleanest Proxmox networking pattern for OpenClaw is a dedicated nginx LXC container on the same bridge network:
- nginx-proxy LXC: public IP, handles SSL termination and reverse proxy to OpenClaw
- openclaw LXC: internal IP only, not directly accessible from outside
This means if your nginx container is ever compromised, it doesn't have access to the OpenClaw container's filesystem or config. Configure the nginx container with Certbot for Let's Encrypt SSL, then proxy to the OpenClaw container's internal IP.
Common Mistakes
Allocating too little RAM and then wondering why skills fail silently. 512MB isn't enough for OpenClaw plus the Python runtime plus skill libraries. Start at 1GB minimum, 2GB for comfort.
- Forgetting to set Start at boot — after a Proxmox host restart, your container won't come back up unless Start at boot is enabled in Options.
- Not scheduling vzdump backups — Proxmox makes backups trivial to schedule. Set up nightly backups before deploying any production workloads.
- Using bridged networking without firewall rules — the Proxmox firewall is disabled by default. Enable it and allow only ports 22, 80, 443 on public-facing containers.
- Storing config on tmpfs — some Proxmox templates mount /tmp as tmpfs. Make sure your OpenClaw config directory is on persistent storage, not a tmpfs path.
Frequently Asked Questions
Should I use a VM or LXC for OpenClaw on Proxmox?
LXC containers use 30-50% less RAM and boot in seconds — recommended unless you need kernel-level isolation or GPU passthrough.
What resources should I allocate to the LXC container?
2 vCPU, 1GB RAM minimum; 2GB for production. 8GB storage. LXC containers can be resized without downtime on Proxmox.
Can I run OpenClaw in an unprivileged LXC container?
Yes. Unprivileged containers are the secure default and work fine — OpenClaw needs no special kernel capabilities.
How do I expose OpenClaw webhooks to the internet?
Use Proxmox firewall rules and router port forwarding, or a separate nginx LXC container on the same bridge network as a reverse proxy.
Does OpenClaw support Proxmox backups?
Yes. OpenClaw's data is stored in the container filesystem, so it's included in vzdump backups automatically. Schedule nightly backups in the Datacenter > Backup panel.
Can I live-migrate an OpenClaw LXC container?
Yes. LXC containers migrate between Proxmox nodes with minimal downtime using Proxmox's migration tool, provided both nodes share the same storage backend.
R. Nakamura runs a production Proxmox homelab and documents OpenClaw self-hosted deployments at aiagentsguides.com.