Proxmox

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 shared build.func from the same repo; the app install itself is in the matching file under install/.
  • 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/pve cost nothing and make a bad host-level script recoverable.

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.

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.