Proxmox Community Helper Scripts: A Beginner's Guide
One-line installs for 400+ apps. What they actually do, and the five minutes of checking worth doing first.
By Brandon Sheley · Updated
Short answer: the Proxmox VE Helper-Scripts (community-scripts.org) are one-line installers that build an LXC container or VM for an app, or tweak the host, from a single command pasted into the Proxmox shell. They're community-run, not official, and they run as root, so read each one before you run it and back up first.
Several of my own guides use these scripts as the quick install path, so this is the background on what they are, how to check them, and when I'd skip them.
What the Helper Scripts Are
The Proxmox VE Helper-Scripts are a collection of more than 400 shell scripts that each set up one thing on a Proxmox host: a Pi-hole container, a Home Assistant OS VM, a Jellyfin container, host tweaks after a fresh install, and so on. They were started by tteck and are now maintained by the community-scripts project, which describes itself as "a community legacy in memory of @tteck." The scripts are MIT-licensed, live at github.com/community-scripts/ProxmoxVE, and are browsable at community-scripts.org.
They aren't made or supported by Proxmox. That matters for two reasons covered below: you're running someone else's code as root on your hypervisor, and when something breaks, the place to look is the project's GitHub, not the Proxmox forum.
How They Work
Every script runs the same way: you copy a one-line command from its page and paste it into the shell of your Proxmox host (the node's Shell in the web UI, or SSH as root). Container scripts live under ct/, VM scripts under vm/ and host utilities under tools/:
# general pattern (run on the Proxmox host, not inside a guest)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/SCRIPT_NAME.sh)"
The script then asks whether to use Default settings or Advanced ones. Default picks CPU, RAM, disk size and network for you; Advanced lets you set each, plus the container ID, whether it's privileged, the storage it lands on and a static IP. The project currently lists Proxmox VE 8.4 and 9.x as supported.
Before You Run One: How to Vet a Script
Piping a script from the internet into a root shell is a real trust decision, even for a popular project. A few minutes of checking makes it a reasonable one:
- Read it first. Open the script's URL in a browser, or use
curl -fsSL <url> | less. Most container scripts are short and call a sharedbuild.funcfrom the same repo; the app install itself is in the matching file underinstall/. - Check where it downloads from. The script pulls the app from its upstream (GitHub releases, a vendor repo, Docker Hub). Make sure those are the official sources.
- Look at the script's recent history and open issues on GitHub. Scripts do get pulled or rewritten: the OPNsense VM script was taken down pending a refactor (covered in my pfSense and OPNsense guide).
- Use Advanced mode for anything you'll keep, so you choose unprivileged vs privileged, storage and IP yourself instead of inheriting defaults.
- Back up first. A Proxmox backup of existing guests and a copy of
/etc/pvecost nothing and make a bad host-level script recoverable.
The Scripts Worth Knowing
| Script | What it does | Where I cover it |
|---|---|---|
Proxmox VE Post Install (tools/pve/post-pve-install.sh) | On a fresh install: switches to the no-subscription repo, turns off the enterprise repo, optionally removes the subscription notice, and runs updates. | Updating Proxmox |
| Home Assistant OS VM | Builds a VM from the official HAOS image with the right firmware and disk settings. | Home Assistant on Proxmox |
| TrueNAS VM | Builds a q35/UEFI VM around the current TrueNAS ISO, with optional disk passthrough. | TrueNAS on Proxmox |
| Pi-hole / AdGuard Home LXC | A small Debian container with the DNS blocker installed. | Pi-hole & AdGuard Home |
| Docker LXC | A Debian container with Docker installed and nesting turned on. | Docker on Proxmox |
Run the post-install script only once, on a new host. On a node that's already configured, change repositories by hand instead (Proxmox's own wiki documents it), so you know exactly what changed.
When Not to Use Them
- On anything that isn't yours to break. For work or client systems, use Proxmox's documented install paths and your own configuration management.
- When you want to learn how it works. Building one container by hand teaches you what the script hides: the template, the features like nesting, the bind mounts.
- When you need it to be reproducible. A script's defaults can change between runs. Ansible or Terraform with the Proxmox provider gives you the same result every time.
For a homelab that's mostly about running the services, not building them, the scripts save a lot of time. Read them, keep backups, and they're a fine way to get going.
Related Resources
Pi-hole & AdGuard Home on Proxmox
A helper-script install, then making it your network's DNS safely.
Home Assistant OS on Proxmox
Script vs official image, and USB passthrough for Zigbee.
TrueNAS Scale on Proxmox
The TrueNAS VM script vs a manual ISO install.
LXC vs VM on Proxmox
What the script is choosing for you when it builds a container.
Proxmox Updates
What changed in Proxmox VE, PBS and Mail Gateway, plus CLI updates.
Mini PC Proxmox Cluster
Scripts run per node; what changes once you have a cluster.
Frequently Asked Questions
Are the Proxmox community helper scripts safe?
They're widely used, open source and actively maintained, but they run as root on your Proxmox host, so treat each one as code you're choosing to trust. Read the script before running it, check that it downloads from official upstream sources, use Advanced mode for anything you'll keep, and back up your guests and /etc/pve first.
Who maintains the Proxmox helper scripts now?
The community-scripts project on GitHub. The scripts were originally created by tteck, and the community took them over and maintains them in his memory. They aren't an official Proxmox product.
How do I run a Proxmox helper script?
Copy the one-line command from the script's page on community-scripts.org and paste it into the Proxmox host's shell as root, not inside a VM or container. It follows the pattern bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/SCRIPT_NAME.sh)". Choose Default or Advanced settings and follow the prompts.
What does the Proxmox VE post-install script do?
On a fresh install it switches Proxmox to the free no-subscription repository, disables the enterprise repository, can remove the subscription notice in the web UI, and runs updates. Run it once on a new host; on a host that's already set up, it's better to change repositories by hand.