-
-
Notifications
You must be signed in to change notification settings - Fork 25
Getting Started
This quick-start guide walks you through creating your first backup with BBS. You'll add a client machine, install the agent, create a repository, and configure an automated backup plan.
Prerequisites: You've completed Installation and can log into BBS.
Navigate to your BBS server in a web browser:
https://backups.example.com
Log in with the administrator credentials you created during setup.

After logging in, you'll see the dashboard.

Clients represent the machines you want to back up (servers, workstations, etc.).
- Click Clients in the top navigation menu
- Click the Add Client button

- In the "Add Client" modal, enter:
- Client Name: A descriptive name (e.g., "Web Server 01", "Database Server", "John's Laptop")

- Click Create Client
The client is created and you'll see a one-time API key displayed.
Important: Copy this API key now. It's shown only once and is required to install the agent.
- Click Copy API Key to copy it to your clipboard
The BBS agent is a Python script that runs on the machine being backed up. It polls the BBS server for backup tasks and executes them.
On the client machine, run the one-line installer (it downloads the agent, registers it, and installs a system service). The easiest way is to copy the exact command from the client's Install tab in the BBS web interface — it comes pre-filled with your server URL and API key:
curl -s https://backups.example.com/get-agent | sudo bash -s -- --server https://backups.example.com --key YOUR_API_KEYReplace:
-
https://backups.example.comwith your BBS server URL -
YOUR_API_KEYwith the API key you copied in Step 2
What this does:
- Installs Borg (if needed) and downloads the agent to
/opt/bbs-agent - Registers the agent with the BBS server
- Generates SSH keys for BorgBackup communication
- Installs and starts a system service (systemd on most Linux distros) so the agent keeps running
Note: The agent must run on a real host (or a dedicated agent container) with a service manager. Don't install it inside the BBS server container itself — containers have no systemd, so the agent can't keep running and the client will drop to "Offline" after registration. BBS never backs up data mounted into its own container; backups always run through an agent. If the data lives on a NAS/Docker host, install the agent on that host, or use the Docker Agent Setup to run the agent as its own container with your data mounted into it.
Back in the BBS web interface, go to Clients. You should see your client listed with a green "Online" status indicator.
Click on the client name to view its detail page.

The Overview tab shows system information reported by the agent (hostname, OS, IP address, disk usage, etc.).
Troubleshooting:
- If the client shows "Offline", check the agent logs on the client machine:
sudo journalctl -u bbs-agent -f - Verify the client can reach the BBS server:
curl https://backups.example.com - Check firewall rules on both the client and server
See Linux Agent Setup for detailed agent installation instructions and troubleshooting.
Repositories are BorgBackup storage locations on the BBS server. Each client typically has one or more repositories.
- On the client detail page, click the Repositories tab
- Click Create Repository

- In the "Create Repository" modal, enter:
- Repository Name: A descriptive name (e.g., "main", "daily-backups", "system")
-
Encryption: Select an encryption mode:
-
Repokey (recommended): Encryption key stored in the repository (backed up with
borg key export) - Keyfile: Encryption key stored separately on the client
- None: No encryption (not recommended unless already encrypting at disk level)
-
Repokey (recommended): Encryption key stored in the repository (backed up with
- Passphrase: If using encryption, enter a strong passphrase (store this securely!)

- Click Create Repository
BBS creates the repository and initializes it via the agent. This takes 5-15 seconds.
When complete, the repository appears in the Repositories tab.
Important: If you chose encryption, save your passphrase securely. Without it, your backups are unrecoverable. Consider using a password manager or printing and storing it in a safe.
See Repositories for more details on repository management.
Backup plans define what to back up, when to back up, and how long to retain backups.
- On the client detail page, click the Schedules tab
- Click Create Backup Plan

-
In the "Create Backup Plan" form, configure:
Basic Settings:
- Plan Name: Descriptive name (e.g., "Daily System Backup", "Hourly Database Backup")
- Repository: Select the repository you created in Step 4
- Enabled: Check this to activate the plan
Paths to Backup:
- Click Add Path
- Enter a directory path to back up (e.g.,
/home,/var/www,/etc) - Click Add Path again to add more directories
- You can exclude specific subdirectories using the Exclude Patterns field (e.g.,
*.tmp,/var/cache,node_modules)
Schedule:
- Frequency: Choose when backups run (Hourly, Daily, Weekly, Monthly)
- Time: Specify the time of day (for Daily/Weekly/Monthly) or interval (for Hourly)
- Day of Week: (for Weekly backups)
- Day of Month: (for Monthly backups)
Retention Policy:
- Keep Daily: Number of daily backups to retain
- Keep Weekly: Number of weekly backups to retain
- Keep Monthly: Number of monthly backups to retain
- Keep Yearly: Number of yearly backups to retain
Example retention:
7 daily, 4 weekly, 6 monthly= ~6 months of history

- Click Create Plan
The backup plan is created and appears in the Schedules tab.
See Backup Plans for advanced options (compression, pre/post hooks, plugins, etc.).
Backup plans run automatically at their scheduled time. To test immediately:
- In the Schedules tab, find your backup plan
- Click the Run Now button
A backup job is queued and sent to the agent.
- Click Queue in the top navigation to monitor progress

You'll see:
- Job status (Queued → Sent → Running → Completed)
- Progress percentage
- Files processed
- Data transferred
- Estimated time remaining
When the backup completes, the status changes to "Completed" (green).

Troubleshooting:
- If the job stays in "Queued" status, check that the agent is online (Clients page)
- If the job fails, click on it to view error details
- Check agent logs on the client:
sudo journalctl -u bbs-agent -f
See Queue and Jobs for details on monitoring and troubleshooting jobs.
After the first backup completes:
- Go to the client detail page
- Click the Repositories tab
- Click on your repository name

You'll see a list of backup archives (one per backup run), showing:
- Archive name (timestamp-based)
- Date/time created
- Number of files
- Original size
- Compressed size
- Deduplicated size
- Click on an archive to browse its contents
You can browse the full directory structure and restore individual files. See Restoring Files for details.
Congratulations! You've created your first automated backup with BBS.
- Add more clients: Repeat Steps 2-6 for each machine you want to back up
- Add more backup plans: Create multiple plans for different data sets (e.g., hourly for databases, daily for user files)
- Set up database backups: Use the Database Backups to automatically dump MySQL/PostgreSQL databases before backing them up
- Configure S3 sync: Set up S3 Offsite Sync to copy repositories to Amazon S3 or compatible storage for offsite protection
Get alerts when backups fail:
- Go to Settings → Notifications
- Configure email or webhook notifications
- See Notifications for details
- Enable Two-Factor Authentication for your account
- Add additional users with appropriate permissions (see User Management)
- Review Settings for security options (session timeout, API rate limiting, etc.)
- Check the Dashboard regularly for backup status summary
- Review the Queue and Jobs page for recent activity
- Set up Notifications for proactive alerting
After initial setup, you'll typically:
- Monitor backups: Check the Dashboard and Queue and Jobs page
- Restore files: Browse archives and restore specific files (see Restoring Files)
- Adjust schedules: Modify backup plans as needs change (see Backup Plans)
- Add/remove clients: Manage the list of machines being backed up (see Managing Clients)
- Review retention: Adjust how long backups are kept to balance storage and recovery needs
- Update BBS: Keep the server software up to date (see Updating BBS)
If you run into issues:
- Check the Troubleshooting page
- Review agent logs on the client:
sudo journalctl -u bbs-agent -f - Review BBS logs on the server:
sudo tail -f /var/log/bbs/scheduler.log - Search GitHub Issues for similar problems
- Open a new issue if you've found a bug
- Managing Clients - Detailed client management
- Linux Agent Setup - Advanced agent configuration
- Repositories - Repository management and best practices
- Backup Plans - Advanced backup plan options
- Restoring Files - File restoration walkthrough
- Plugins - Using and configuring plugins
- Settings - Configuring BBS server settings
📖 User Manual
Getting Started
Using BBS
- Dashboard
- Managing Clients
- Client Profiles
- Linux Agent Setup
- macOS Agent Setup
- Windows Agent Setup
- Docker Agent Setup
- Repositories
- Storage Setup
- Backup Plans
- Restoring Files
- Database Backups
- Plugins
- Remote Storage
- S3 Offsite Sync
Monitoring
Administration
- Settings
- User Management
- Single Sign-On
- Two-Factor Authentication
- Updating BBS
- Server Backup and Restore
Reference