Proxmox Community Scripts are a bad idea

2026-09-22

I've been running Proxmox for quite some time now to host my business-critical infrastructure. This includes services like Nextcloud, Vaultwarden and Authentik, most of which have corresponding Proxmox Community Scripts available to quickly scaffold the service.

Initially I was actually quite excited to have such an easy way to set up new services. Just send off a curl request, configure a few things and out comes a ready-made service. The issue is that most of these services are bare-metal, which makes updating extremely painful. Timely updates are, in my opinion, one of the most important things to get right in self-hosting, but also one of the most annoying.

The most egregious example of this is Vaultwarden. The community script installs Vaultwarden from source, meaning the entire Rust toolchain also ships with it. In production, Vaultwarden needs maybe 2GB RAM and a 3 GB disk space to be satisfied. However, come update time, the updater will suddenly throw out a warning that the LXC will (at minimum!) need 6 GB of RAM and (in my experience) 6-8 GB disk space to be able to update successfully. Taking away RAM afterwards is easy, but drawing down disk space is much more annoying since it involves creating a backup and then recreating the same container with a smaller root disk. Compare this with the Docker version: 2GB RAM, 4GB disk space, no extra requirements during update. Updating is also just replacing a tag in the Docker compose file, pulling the new image and recreating the container.

I think one argument for community scripts is how easy it is to scaffold new services and "just try it out". However, it's all too easy to see something work and then just decide you don't actually have time to switch it out for the "proper" version, so the bare-metal version keeps running until it becomes a hassle during updates.