-
-
Notifications
You must be signed in to change notification settings - Fork 0
System Requirements
This page outlines the hardware, software, and network requirements for running BBS.
Ubuntu Server 22.04 LTS or newer is the recommended platform for standard installations.
- Ubuntu Server 22.04 LTS (recommended)
- Ubuntu Server 24.04 LTS (recommended)
- Debian — supported via the Docker Installation (the Docker image runs on Debian)
Important: The standard installer (bbs-install) is designed for Ubuntu Server. Other Linux distributions may encounter compatibility issues with the installer and updater scripts. For non-Ubuntu systems, use the Docker Installation instead.
- Minimum: 2 CPU cores
- Recommended: 4+ CPU cores for servers managing many clients or large backup volumes
The BBS server handles repository maintenance (prune, compact, check), job scheduling, and serving the web UI. More cores help when running multiple maintenance operations concurrently or managing many clients.
- Minimum: 2 GB RAM
- Recommended: 4 GB+ RAM
Memory requirements scale with:
- Number of concurrent backup jobs
- Size of backup repositories (larger repos require more memory for deduplication indexing)
- Number of files being backed up (file metadata is cached in memory)
For servers managing 10+ clients or repositories larger than 500GB, consider more RAM.
Storage requirements depend on how you configure your repositories. BBS supports two storage modes:
- Local repositories — stored on the BBS server's disk (default)
- Remote SSH repositories — stored on a remote host like rsync.net, BorgBase, or Hetzner (see Remote Storage)
You can mix both modes — some repositories local, others remote.
When using local repositories, the BBS server stores all BorgBackup repository data on its own disk. Plan storage accordingly:
- Minimum: 50 GB for system and BBS software
- Recommended: 2-3x the total size of all data being backed up across all clients
Why 2-3x? While BorgBackup's deduplication is highly efficient, you need overhead for:
- Initial full backups (before deduplication kicks in)
- Retention policies (multiple versions of changed files)
- Metadata and indexes
- Database dumps (if using the Database Backup plugin)
Example: If backing up 500GB of data across 5 clients, plan for at least 1-1.5TB of storage on the BBS server.
When using remote SSH repositories, backup data is stored entirely on the remote host — no repository data is stored on the BBS server. However, the BBS server still stores catalog metadata (file listings and archive indexes) in its MySQL database so that the file browser and search remain fully functional for restores. This metadata is relatively small — typically a few MB per archive depending on the number of files.
For a fully remote setup, the BBS server itself only needs enough disk for the operating system, BBS application, MySQL database, and catalog metadata. A 50 GB disk is sufficient even when managing many terabytes of remote backup data.
-
Separate Partition for Repositories (local repos)
- Mount a dedicated partition or volume at
/var/bbs/home(the default repository storage path) - Prevents backup growth from filling the root filesystem
- Makes capacity expansion easier (resize partition or add new disk)
- Mount a dedicated partition or volume at
-
SSD vs HDD
-
SSD recommended for: MySQL database (
/var/lib/mysql), BorgBackup cache (/root/.cache/borg), system (/) -
HDD acceptable for: Repository storage (
/var/bbs/home)
A hybrid setup (SSD for database/cache, HDD for repos) offers good performance at reasonable cost.
-
SSD recommended for: MySQL database (
-
RAID/Redundancy
- Use RAID 1, RAID 10, or hardware RAID for fault tolerance
- BBS does not provide storage-level redundancy; hardware failure can result in data loss
- Consider offsite sync to S3 for additional protection (see S3 Offsite Sync) or use Remote Storage for geographic redundancy
- Recommended: Static IP address
- Dynamic DNS can work but is not recommended for production use
- An A record pointing to your server's IP address (e.g.,
backups.example.com → 1.2.3.4) - Required for SSL certificate generation via Let's Encrypt
- Not required for LAN-only installations (can use IP address directly)
The following ports must be open and accessible:
| Port | Protocol | Purpose | Required |
|---|---|---|---|
| 22 | TCP | SSH (for BorgBackup client-server communication) | Yes |
| 80 | TCP | HTTP (redirects to HTTPS, Let's Encrypt validation) | Yes (if using SSL) |
| 443 | TCP | HTTPS (web UI) | Yes (if using SSL) |
Firewall Notes:
- Port 22 must be accessible from all client machines running the BBS agent
- Ports 80/443 must be accessible from administrator workstations (and the public internet for Let's Encrypt validation)
- Consider restricting port 22 to known client IP addresses for enhanced security
- Server: Requires internet access for SSL certificate generation (Let's Encrypt), software updates, and S3 sync (if configured)
- Clients: Require network access to the BBS server on port 22 (SSH) and 443 (HTTPS for agent API)
LAN-Only Installations:
BBS can run on an isolated LAN without internet access using the --no-ssl installation option. See Installation#LAN-Installation-Notes for details.
The following software is automatically installed by the bbs-install script. You do not need to install these manually.
- PHP 8.1 or newer (with required extensions: pdo_mysql, mbstring, curl, xml, zip, intl, gd, ssh2)
- MySQL 8.0 or newer
- Apache 2.4 (with mod_rewrite, mod_ssl)
- BorgBackup 1.2+
- Python 3.8+ (for the BBS agent)
- Composer (PHP dependency manager)
- Memcached (for session caching)
- Certbot (for Let's Encrypt SSL certificates)
- rclone (for S3 sync functionality)
See Installation for the automated installation process.
Machines being backed up (clients) need network access to the BBS server on ports 22 (SSH) and 443 (HTTPS). The BBS agent handles everything else — BorgBackup is installed automatically.
| Platform | Requirements | Setup Guide |
|---|---|---|
| Linux | Python 3.6+, root/sudo access | Linux Agent Setup |
| macOS | Python 3 (included with macOS), Full Disk Access | macOS Agent Setup |
| Windows | Windows 10/11 64-bit, Administrator access | Windows Agent Setup |
If using the Database Backup plugin, clients also need sufficient disk space for temporary database dumps.
The BBS web interface supports modern browsers:
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
JavaScript must be enabled. Internet Explorer is not supported.
📖 User Manual
Getting Started
Using BBS
- Dashboard
- Managing Clients
- Linux Agent Setup
- macOS Agent Setup
- Windows Agent Setup
- Repositories
- Backup Plans
- Restoring Files
- Database Backups
- Plugins
- Remote Storage
- S3 Offsite Sync
Monitoring
Administration
Reference