Understand the Borg Backup Server Architecture
mainBorg Backup Server uses a split-plane architecture to manage backups across multiple endpoints (Linux, Mac, and Windows) without requiring inbound connections to the agents, making it compatible with firewalls and NAT.
Core Components
- Control Plane (HTTPS): The lightweight agent polls the server over HTTPS to check for new tasks, report progress, and provide status updates.
- Data Plane (SSH): Actual backup and restore data is transferred via SSH using
borg serve. - Security Model: The system implements an append-only security model. Agents are permitted to perform backups or restores but are restricted from deleting or pruning archives. Pruning operations are executed server-side.
- Agent Requirements: The agent is a Python 3-based tool (using only the standard library) that runs on the endpoint.