Proxmox VE post install script

Proxmox VE Post Install Script: Fix Repositories and Remove Subscription Nag

Just installed Proxmox VE 9.1 and your repository panel looks like this? ๐Ÿ‘‡

Old bookworm entries sitting next to the new trixie ones, an orange banner about the no-subscription repo, and a popup every time you log in. All of this is completely normal after a fresh PVE 9.1 install โ€” and there’s a single community tool that fixes all of it in a few minutes: the Proxmox VE post install script from community-scripts.org.


What Is the Proxmox VE Post Install Script?

The Proxmox VE post install script is a community-maintained open-source tool originally created by tteck and now maintained by the broader Proxmox community on GitHub. It’s specifically designed to clean up the default Proxmox configuration after a fresh install โ€” the things Proxmox itself doesn’t handle automatically. ๐Ÿ”ง

It’s interactive, runs fully inside the Proxmox shell, and supports both PVE 8.x (Debian bookworm) and PVE 9.x (Debian trixie).


What Does It Actually Fix?

Here’s what the Proxmox VE post install script handles, step by step:

๐Ÿ—‚๏ธ 1. Repository Cleanup

On PVE 9.1 the package manager uses the modern deb822 .sources format. But legacy .list files from PVE 8 (bookworm era) often remain alongside them โ€” and that’s exactly what causes the โš ๏ธ warning icons in your Updates โ†’ Repositories panel.

The script:

  • Detects whether modern .sources files already exist
  • Offers to rename legacy .list files to .list.bak (safer than deleting โ€” reversible)
  • Gives you full control over each repo: pve-enterprise, ceph-enterprise, pve-no-subscription โ€” keep, disable, or delete

๐Ÿ”• 2. Subscription Nag โ€” Properly Suppressed

The popup that greets you every login is the most annoying part of running a homelab on Proxmox without an enterprise subscription. The Proxmox VE post install script removes it in a smarter way than the usual one-liner hack.

Instead of a simple sed patch that gets overwritten on the next apt upgrade, the script:

  1. Creates /usr/local/bin/pve-remove-nag.sh โ€” a persistent patch script
  2. Registers it as a DPkg post-invoke hook via /etc/apt/apt.conf.d/no-nag-script
  3. This means the nag patch re-applies automatically after every system update โœ…
  4. Also patches the mobile UI โ€” a separate HTML template most manual guides miss entirely

โš™๏ธ 3. High Availability Services

On a single-node homelab, Proxmox runs HA-related services (pve-ha-lrm, pve-ha-crm, corosync) even though they serve no purpose. The script offers to disable them, freeing up RAM and reducing unnecessary background activity. ๐Ÿ 

๐Ÿ“ฆ 4. Full System Update + Reboot

The script finishes with an optional apt dist-upgrade to bring everything up to date, followed by a reboot prompt. Clean start, clean state.


How to Run It

Open the Shell on your Proxmox node (top-right menu in the web UI) and run:

bash

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"

โš ๏ธ Warning: This script modifies APT sources, patches JavaScript files, and can run apt dist-upgrade. Always review what you’re running before executing scripts piped from the internet. The source is publicly available on GitHub โ€” read through it first if you prefer.

The script launches a whiptail interactive menu โ€” a text-based UI that walks you through each step with yes/no choices. The community recommends answering “yes” to all options for a typical homelab single-node setup.


What to Expect: Step-by-Step Walkthrough

Once launched, you’ll see a series of screens. Here’s the recommended answer for a homelab PVE 9.1 single-node:

PromptRecommended AnswerWhy
Start the script?yesObviously ๐Ÿ˜„
Deb822 sources already exist (info)OKJust confirming
Disable legacy .list sources?yesRemoves the โš ๏ธ bookworm warnings
pve-enterprise repo?disableNo subscription needed for homelab
ceph-enterprise repo?disableSame
pve-no-subscription repo?keepThis is the free community repo you want
Disable subscription nag?yesRemoves the login popup permanently
Disable High Availability?yesSingle node โ€” HA services are useless
Update Proxmox VE?yesAlways a good idea
Reboot?yesRequired to apply all changes cleanly

After reboot, go to Updates โ†’ Repositories โ€” no more bookworm entries, no more โš ๏ธ icons. Log in โ€” no popup. ๐ŸŽ‰


After the Script: Clearing Browser Cache

One thing the script itself reminds you about: clear your browser cache (or do a hard reload with Ctrl+Shift+R) after logging back in. The nag patch modifies a JavaScript file that your browser has likely cached โ€” without a cache clear, the popup may still appear even though the fix is in place.


Compared to Doing It Manually

You can do all of this manually โ€” delete the .list files, write a sed one-liner for the nag. But the Proxmox VE post install script wins on two important points:

  • Reversibility: renames files to .bak instead of deleting them
  • Persistence: the nag suppression survives apt upgrade via the dpkg hook โ€” a manual sed patch does not

For a homelab setup, the script is the right call. It’s what most experienced self-hosters use right after a clean Proxmox install โ€” and it works correctly with PVE 9.1 and the trixie repository structure. ๐Ÿ› ๏ธ


Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.