Deployment Overview of Proxmox Backup Server on Server¶
Prerequisites and Basic Requirements¶
The following requirements must be met before deploying Proxmox Backup Server:
-
Operating System: Debian 12 (Bookworm) with
contribandnon-free-firmwarerepositories enabled. -
Privileges: Root access or
sudoprivileges are required to manage system packages and services. -
Domain: The server must be configured to resolve the domain
hostkey.in. -
Ports:
-
Port
8007is used for internal communication between the proxy and the application. -
Port
443is used for external HTTPS access.
FQDN of the Final Panel¶
The fully qualified domain name for accessing the Proxmox Backup Server panel on the hostkey.in domain follows this format:
proxmox-backup-server<Server ID>.hostkey.in:443
Where <Server ID> is replaced by the specific identifier assigned to the server instance.
File and Directory Structure¶
The deployment utilizes the following directory paths for configuration and data storage:
-
Apt Repository Configuration:
/etc/apt/sources.list.d/pbs.list -
GPG Key:
/etc/apt/trusted.gpg.d/proxmox-release.gpg -
Nginx User Configuration:
/data/nginx/user_conf.d/ -
Docker Compose Configuration:
/root/nginx/compose.yml -
Docker Environment File:
/data/nginx/nginx-certbot.env -
SSL Secrets Volume: Mounts to
/etc/letsencryptwithin the container.
Application Installation Process¶
The Proxmox Backup Server is installed directly on the host operating system using the APT package manager. The installation process involves the following steps:
-
Update and upgrade existing APT packages.
-
Install required utilities including
curl,wget,ca-certificates, andgnupg. -
Enable the
contribandnon-free-firmwarerepositories in/etc/apt/sources.list. -
Import the Proxmox repository key from
https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpgto/etc/apt/trusted.gpg.d/proxmox-release.gpg. -
Add the Proxmox PBS repository (
http://download.proxmox.com/debian/pbs) for thebookwormrelease with thepbs-no-subscriptioncomponent to/etc/apt/sources.list.d/pbs.list. -
Install the
proxmox-backup-servermeta-package. -
Install
zfs-dkmsandlinux-headers-amd64for ZFS support. -
Start and enable the
proxmox-backupsystemd service.
Docker Containers and Their Deployment¶
A Docker container running Nginx and Certbot is deployed to handle reverse proxy and SSL termination. The deployment is managed via docker compose using the following configuration:
Compose File Location: /root/nginx/compose.yml
Service Configuration:
-
Image:
jonasal/nginx-certbot:latest -
Restart Policy:
unless-stopped -
Network Mode:
host -
Environment:
-
CERTBOT_EMAILis set to[email protected]. -
Additional environment variables are loaded from
/data/nginx/nginx-certbot.env. -
Volumes:
-
nginx_secrets(external) mounted to/etc/letsencrypt. -
Host path
/data/nginx/user_conf.dmounted to/etc/nginx/user_conf.d.
Deployment Command:
This command is executed from the/root/nginx directory. Proxy Servers¶
An Nginx container manages the reverse proxy for the application.
-
Internal Path:
/ -
External Path:
/ -
Internal Port:
8007 -
External Port:
443 -
Proxy Configuration: The Nginx configuration file located at
/data/nginx/user_conf.d/proxmox-backup-server<Server ID>.hostkey.in.confis modified to forward requests. Theproxy_passdirective is set to: -
SSL: Managed automatically by the
nginx-certbotcontainer, storing certificates in thenginx_secretsvolume.
Access Rights and Security¶
-
Firewall: External traffic is directed to port
443for HTTPS access. Internal traffic to the application occurs on port8007. -
User Permissions: The Nginx configuration files and Docker compose files are owned by
rootwith permissions set to0755for directories and0644for files. -
Repository Restrictions: The enterprise subscription repository is disabled by commenting out entries in
/etc/apt/sources.list.d/pbs-enterprise.list.
Starting, Stopping, and Updating¶
Systemd Service Management: The core Proxmox Backup Server application is managed via the proxmox-backup systemd service.
-
Start Service:
-
Enable Service on Boot:
-
Check Status:
Docker Container Management:
-
Start/Update:
-
Stop:
Package Updates: Updates for the Proxmox Backup Server are handled via the standard APT package manager: