marcpope

borgbackupserver: Manage Borg Backups Across Endpoints

Borg Backup Server is a self-hosted web app for scheduling and managing Borg backups across multiple machines. It suits people who want a central interface for backup jobs, restores, and repository operations without opening inbound connections to their endpoints.

PHPOther licenseSelf HostedWeb AppBackup
Stars
353
Forks
32
Stars, last 16 days
+27

Our take

Health score

62/100

How it is scored
Activity
90
Community
24
Issues
86
Pull requests
46

+27 stars in the last 16 days

  • Releases more often than 93% of the projects we track

Overview

Borg Backup Server provides a central web interface for managing BorgBackup across Linux, Mac, and Windows endpoints. Agents poll the server over HTTPS for tasks and send backup data over SSH, so endpoints do not need to accept inbound connections from the server.

It is aimed at administrators who want scheduled backups, restore tools, and repository management in one place. The server-side web app uses MySQL and PHP, with a Python agent on backup endpoints.

Key Features

  • Schedule backup plans per client, with configurable retention policies and manual runs.
  • Browse cataloged files and restore individual files or download archives from the browser.
  • Use append-only SSH access so agents cannot delete or prune existing archives.
  • Configure MySQL and PostgreSQL pre-dumps with restore options.
  • Mirror repositories to S3-compatible storage using rclone.
  • Manage users with role-based access and TOTP two-factor authentication.
  • Monitor backup status through Prometheus metrics and configure notifications through Apprise.

Use Cases

  • A homelab administrator can manage scheduled backups and restores for several machines from one self-hosted interface.
  • A small IT team can coordinate client backup plans and retention policies without granting the server inbound SSH access to endpoints.
  • An organization that needs an offsite copy can mirror Borg repositories to S3-compatible storage.
  • Administrators can search cataloged files and restore selected data without manually browsing repository archives.

Getting Started

Choose the bare metal or VM installation guide or the Docker installation guide. See the README and project wiki for prerequisites, setup, and agent configuration.

Considerations

The server requires PHP 8.1 or later and MySQL 8.0; backup endpoints use a Python agent and BorgBackup. Installation involves configuring server storage and SSH access, and some features depend on external services such as S3-compatible storage or notification providers. The input reports the license as NOASSERTION, although the README links to an MIT License; verify the repository's license before relying on its terms.

Found this useful?

Share it with someone who would like borgbackupserver.

Comparisons