Deployment Overview of Proxmox Backup Server on Server¶
Prerequisites and Basic Requirements¶
To ensure a successful deployment, the following requirements must be met by the host system:
-
Operating System: Debian 12 (Bookworm) is required for optimal compatibility.
-
Privileges: Root or sudo privileges are necessary to manage package repositories and services.
-
Dependencies: The installation process requires
curl,wget,ca-certificates, andgnupg. -
Kernel Headers: For ZFS support, the system must have
linux-headers-amd64installed.
FQDN of the final panel on the hostkey.in domain¶
The application is accessible via a specific subdomain within the hostkey.in zone. The template for this domain is as follows:
| Parameter | Value |
|---|---|
| Prefix | proxmox-backup-server |
| Domain | hostkey.in |
| Full template | proxmox-backup-server{Server_ID}.hostkey.in |
Application installation process¶
The installation of Proxmox Backup Server is performed through the system package manager using a dedicated repository. The following steps are executed:
-
System Preparation: Essential utilities (
curl,wget, etc.) are installed, and existing enterprise repositories are removed to prevent subscription errors. -
Repository Configuration:
-
The Proxmox PBS GPG key is added to
/etc/apt/trusted.gpg.d/proxmox-release.gpg. -
The non-subscription repository is added to
/etc/apt/sources.list.d/pbs.list. -
Package Installation:
-
The system performs a full upgrade of existing packages.
-
contribandnon-free-firmwarecomponents are enabled in the Debian sources list. -
The
proxmox-backup-servermeta-package is installed viaapt. -
Kernel Modules: The
zfs-dkmspackage is installed to provide ZFS support on Debian 12.
Docker Containers and Their Deployment¶
The deployment utilizes a reverse proxy container to handle SSL termination and traffic routing via Nginx.
| Container Name | Image | Ports (Host) | Volumes | Restart Policy |
|---|---|---|---|---|
nginx | jonasal/nginx-certbot:latest | host mode | - nginx_secrets:/etc/letsencrypt- /data/nginx/user_conf.d:/etc/nginx/user_conf.d | unless-stopped |
The Nginx container is configured to proxy traffic from the external domain to the local service running on port 8007.
Custom Scripts and Additional Setup¶
Following the core application installation, several configuration steps are performed:
-
Proxy Configuration: A custom Nginx configuration file is generated in
/data/nginx/user_conf.d/to map the incoming domain tohttp://127.0.0.1:8007. -
Docker Setup: The Docker engine is installed and configured as part of the environment setup.
-
Environment Variables: SSL certificate management is handled via an external environment file located at
/data/nginx/nginx-certbot.env.
Application Update Instructions¶
To update the Proxmox Backup Server application, perform a standard package manager update:
Location of configuration files and data¶
The following directories contain important configuration and operational data:
-
Nginx Configuration Directory:
/root/nginx -
User Configuration Files:
/data/nginx/user_conf.d/ -
SSL Certificates: Managed within the
nginx_secretsDocker volume. -
APT Repository List:
/etc/apt/sources.list.d/pbs.list
Available ports for connection¶
The application uses the following port mapping:
| Service | Internal Port | External Port |
|---|---|---|
| Proxmox Backup Server (Local) | 8007 | N/A |
| Web Interface (via Proxy) | N/A | 443 (HTTPS) |
Starting and Stopping the application¶
The core service is managed via systemd. Use the following commands to control the Proxmox Backup Server service:
-
Start the service:
systemctl start proxmox-backup -
Stop the service:
systemctl stop proxmox-backup -
Enable on boot:
systemctl enable proxmox-backup