How to Install Proxmox Backup Server on Debian 11

Proxmox Backup Server is an open-source backup solution that backs up virtual machines, containers, and physical hosts. It integrates with the Proxmox Virtual Environment platform to back up virtual machines and containers, supports both local and remote targets, and includes a web-based management interface for administering backups.
This article explains how to install Proxmox Backup Server on Debian 11. It covers setting the system hostname, adding the Proxmox repository, installing the package, serving the management interface through Nginx as a reverse proxy, securing it with a Let's Encrypt SSL certificate, and configuring the firewall.
Prerequisites
Before you begin, you need to:
- Have access to a fresh Debian 11 server as the root user.
- Point a subdomain such as
pbs.example.comto your server's public IP address.
Set the System Hostname
Proxmox Backup Server issues its self-signed certificate against the system hostname and uses it to identify the host in the management interface. Set the hostname to your subdomain before installing the package so that the generated certificate matches the address you use to reach the server.
Open the hostname file in a text editor.
console# nano /etc/hostnameReplace the contents with your subdomain.
inipbs.example.comSave and close the file.
Open the hosts file.
console# nano /etc/hostsAdd the following line to map the subdomain to the loopback address.
ini127.0.0.1 pbs.example.comSave and close the file.
Reboot the server to apply the new hostname.
console# rebootVerify that the system hostname matches your subdomain.
console# hostnameThe output displays
pbs.example.com.Verify that the hostname resolves to the loopback address.
console# ping pbs.example.comThe output displays replies from
127.0.0.1.
Install Proxmox Backup Server
Debian does not package Proxmox Backup Server, so the package comes from the Proxmox repository. The pbs-no-subscription repository provides the same packages as the enterprise repository without requiring a subscription key.
Download the repository signing key into the APT keyring.
console# wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpgOpen the APT sources file.
console# nano /etc/apt/sources.listAdd the Proxmox Backup Server repository.
inideb http://download.proxmox.com/debian/pbs bullseye pbs-no-subscription
Save and close the file.
Refresh the package list.
console# apt updateInstall the package.
console# apt install proxmox-backupThe Postfix configuration wizard opens during installation. Select Internet with smarthost and accept the defaults for the remaining prompts.
Reboot the server.
console# rebootOpen the management interface in a web browser to verify the installation.
https://pbs.example.com:8007The browser warns about an untrusted certificate because Proxmox Backup Server generates a self-signed certificate during installation. Accept the warning to reach the login page.
Serve the Management Interface Using Nginx
The management interface listens on port 8007, which some networks block. Configuring Nginx as a reverse proxy serves the interface on the standard HTTP and HTTPS ports instead.
Install Nginx.
console# apt install nginxCreate a virtual host file.
console# nano /etc/nginx/sites-available/pbsAdd the following configuration. Replace
pbs.example.comwith your subdomain.iniserver { listen 80; server_name pbs.example.com; proxy_redirect off; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass https://localhost:8007; proxy_buffering off; client_max_body_size 0; proxy_connect_timeout 3600s; proxy_read_timeout 3600s; proxy_send_timeout 3600s; send_timeout 3600s; } }
Save and close the file.
proxy_set_header UpgradeandConnection "upgrade": Allow the WebSocket connections that the interface uses for its console and live task output.client_max_body_size 0: Removes the upload size limit so that large backup operations are not truncated.- The timeout values: Keep long-running backup and restore tasks from being cut off by the proxy.
Enable the virtual host by linking it into the enabled sites directory.
console# ln -s /etc/nginx/sites-available/pbs /etc/nginx/sites-enabled/Test the configuration syntax.
console# nginx -tThe output displays
syntax is okandtest is successful.Reload Nginx to apply the configuration.
console# systemctl reload nginxOpen the interface in a web browser to verify that the proxy works.
http://pbs.example.com
Secure the Management Interface Using an SSL Certificate
Proxmox Backup Server uses a self-signed certificate by default, so browsers warn that no trusted certificate authority issued it. Certbot replaces that certificate with a free Let's Encrypt certificate on the Nginx virtual host.
Install Certbot and the Nginx plugin.
console# apt install certbot python3-certbot-nginxIssue and install the certificate. Replace
pbs.example.comwith your subdomain.console# certbot --nginx -d pbs.example.comCertbot edits the virtual host to serve HTTPS and redirect HTTP traffic to it.
Open the interface over HTTPS to verify that the certificate is trusted.
https://pbs.example.comVerify that automatic renewal works.
console# certbot renew --dry-run
Configure the Firewall
Debian ships without an active firewall. Enabling ufw restricts inbound traffic to SSH and the web ports that the management interface now uses.
Install
ufw.console# apt install ufwAllow SSH connections so that enabling the firewall does not end your session.
console# ufw allow 'SSH'Allow HTTP and HTTPS connections.
console# ufw allow 'Nginx Full'Enable the firewall.
console# ufw enableThe command warns that it may disrupt existing SSH connections and asks for confirmation. Enter
yto proceed.Review the active rules.
console# ufw statusThe output displays
SSHandNginx Fullwith anALLOWaction.
Conclusion
You have successfully installed Proxmox Backup Server on Debian 11, served the management interface through Nginx as a reverse proxy, secured it with a Let's Encrypt SSL certificate, and restricted inbound traffic with a firewall. Add backup datastores and configure backup jobs from the management interface to start protecting your systems. For more information, visit the official Proxmox Backup Server documentation.