How to Configure Proxmox No-Subscription Repository
Configure Proxmox VE to use the free no-subscription repository. Covers removing the enterprise repo, adding community sources, Ceph repos, and disabling the subscription warning.
Understanding Proxmox Repository Options
Proxmox VE offers three repository tiers. The Enterprise repository requires a paid subscription and provides the most thoroughly tested packages. The No-Subscription repository is free and suitable for home labs, testing environments, and non-critical production use. The Test repository contains the latest packages but may include unstable changes. For most home lab users and small deployments, the no-subscription repository is the right choice.
Removing the Enterprise Repository
A fresh Proxmox installation comes with the enterprise repository enabled by default. Without a valid subscription key, running apt update will produce a 401 authentication error. The first step is to disable or remove this repository:
# Check current repository configuration
cat /etc/apt/sources.list.d/pve-enterprise.list
# Option 1: Comment out the enterprise repo
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
# Option 2: Remove the file entirely
rm /etc/apt/sources.list.d/pve-enterprise.list
If you are running Ceph, there is a separate enterprise repository for Ceph packages that also needs attention:
# Disable the Ceph enterprise repo if it exists
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/ceph.list
Adding the No-Subscription Repository
Create a new source file for the Proxmox no-subscription repository. This repository receives updates that have been tested in the test repository but are not yet promoted to the enterprise tier:
# Add the PVE no-subscription repository
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
Verify that your base Debian sources are also correctly configured. The /etc/apt/sources.list file should include the standard Debian repositories:
# Verify /etc/apt/sources.list contains Debian base repos
cat /etc/apt/sources.list
# It should look similar to this:
deb http://deb.debian.org/debian bookworm main contrib
deb http://deb.debian.org/debian bookworm-updates main contrib
deb http://security.debian.org/debian-security bookworm-security main contrib
Now refresh the package index and verify everything works without errors:
# Update package index - should complete without 401 errors
apt update
# Verify available Proxmox updates
apt list --upgradable 2>/dev/null | grep proxmox
Configuring Ceph No-Subscription Repository
If you use Ceph for distributed storage in your Proxmox cluster, you need a separate repository for Ceph packages. The no-subscription Ceph repository provides the same packages without requiring a license key:
# Add the Ceph no-subscription repository (Reef release)
echo "deb http://download.proxmox.com/debian/ceph-reef bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
# For Ceph Squid (newer release)
echo "deb http://download.proxmox.com/debian/ceph-squid bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
# Refresh and verify
apt update
Make sure you only configure one Ceph release repository at a time. Mixing Ceph versions will cause dependency conflicts.
Removing the Subscription Warning
When you log into the Proxmox web interface without a valid subscription, a pop-up dialog reminds you that you do not have an active subscription. While this is just a notification and does not affect functionality, it can become tedious in a lab environment. You can remove it by editing the JavaScript file that triggers the dialog:
# Find the subscription check in the web UI JavaScript
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
# Replace the subscription check
sed -Ei "s/res === null \|\| res === undefined \|\| \!res \|\| res.data.status.toLowerCase\(\) !== 'active'/false/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
# Restart the web proxy to apply
systemctl restart pveproxy.service
Keep in mind that this modification will be overwritten whenever the proxmox-widget-toolkit package is updated. You will need to reapply it after major updates. A more maintainable approach is to create a small script that automates the patch and run it after upgrades:
#!/bin/bash
# save as /usr/local/bin/fix-subscription-notice.sh
FILE="/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js"
if grep -q "res === null" "$FILE"; then
sed -Ei "s/res === null \|\| res === undefined \|\| \!res \|\| res.data.status.toLowerCase\(\) !== 'active'/false/" "$FILE"
systemctl restart pveproxy.service
echo "Subscription notice removed."
else
echo "Already patched or pattern not found."
fi
Complete Repository Setup Script
Here is a single script that handles the full repository configuration in one pass:
#!/bin/bash
# Disable enterprise repositories
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list 2>/dev/null
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/ceph.list 2>/dev/null
# Add no-subscription repositories
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# Update and upgrade
apt update && apt dist-upgrade -y
echo "Repository configuration complete."
With the no-subscription repository configured, you get access to all Proxmox features and regular updates at no cost. This makes Proxmox an outstanding platform for home labs and small businesses. If you manage your Proxmox nodes remotely, ProxmoxR lets you keep an eye on update status and node health from your phone, so you always know when your servers need attention.
Take Proxmox management mobile
All the features discussed in this guide — accessible from your phone with ProxmoxR. Real-time monitoring, power control, firewall management, and more.