marcpope/borgbackupserver

By marcpope

Updated 4 days ago

Borg Backup Server is an open-source, full backup platform for Linux and Mac clients.

Image
Security
Databases & storage
Monitoring & observability
0

50K+

marcpope/borgbackupserver repository overview

Borg Backup Server - Web GUI / Orchestration for BorgBackup

Borg Backup Server Architecture

A self-hosted graphical UI/front end web application for centrally managing BorgBackup across multiple Linux and macOS endpoints. A lightweight agent polls the server for tasks over HTTPS, backs up over SSH to the server, and reports progress back. No inbound connections to endpoints required — works behind firewalls and NAT. Includes a setup wizard for zero-config installation.

**View Live Demo ** Visit the website to spin up a free, self contained demo to try: Borg Backup Server

Features

  • Agent-based architecture — endpoints initiate all connections; no inbound ports needed on clients
  • SSH with append-only security — agents back up over SSH but cannot delete existing archives
  • Setup wizard — browser-based installer configures database, admin account, and storage in minutes
  • Real-time progress — live progress bars during backups
  • File-level restore — browse archive contents in a collapsible tree, restore individual files or entire directories
  • Download archives — extract and download files as .tar.gz directly from the browser
  • Plugin system — extend backups with pre/post hooks for databases, applications, and custom scripts
  • Database plugins — MySQL, PostgreSQL, and control panel dumps (cPanel, Interworx) with point-in-time restore
  • Flexible scheduling — hourly to monthly intervals, multiple plans per client, manual trigger
  • Backup templates — pre-configured directory sets for common server roles
  • Retention policies — per-plan prune settings (hourly/daily/weekly/monthly/yearly)
  • S3 offsite sync — mirror repositories to S3-compatible storage (AWS, Wasabi, Backblaze B2)
  • Multi-user — role-based access (admin sees all, users see own clients)
  • Two-factor authentication — TOTP-based 2FA with recovery codes
  • Queue management — concurrent job limits, cancel/retry, progress tracking
  • Encrypted passphrases — repository passwords encrypted at rest (AES-256-GCM)
  • Email alerts — SMTP notifications on backup failure, agent offline, storage low
  • Dashboard — backup charts, server stats, active jobs, auto-refresh
  • Server self-backup — daily automated backup of BBS itself with optional S3 sync

Quick Start

Start with a fresh Ubuntu 22.04+ server, then run:

curl -sO https://raw.githubusercontent.com/marcpope/borgbackupserver/main/bin/bbs-install
sudo bash bbs-install --hostname backups.example.com

The installer handles everything — packages, Apache, MySQL, SSL, and cron. When it finishes, open the URL and the setup wizard walks you through the rest.

See the full documentation on the Wiki for installation details, agent setup, configuration, and usage guides.


Docker

Pre-built images are published to Docker Hub on every release:

curl -sO https://raw.githubusercontent.com/marcpope/borgbackupserver/main/docker-compose.yml
docker compose up -d

Get admin credentials from the container logs:

docker compose logs bbs

Open http://localhost:8080 and log in. See the Docker Installation guide for full configuration, storage, reverse proxy, and update documentation.


Documentation

All documentation lives on the GitHub Wiki:


Architecture

Borg Backup Server Architecture
  • HTTPS for control plane (task polling, progress, status)
  • SSH for data plane (borg backup/restore via borg serve)
  • Append-only — agents cannot delete existing archives; pruning runs server-side

Tech Stack

LayerTechnology
BackendPHP 8.1+ (no framework)
DatabaseMySQL 8.0
FrontendBootstrap 5, Chart.js
AgentPython 3 (stdlib only)
Backup engineBorgBackup
Offsite syncrclone

License

MIT License with Beer-Ware Addendum.

If this software saved your backups (or your job), consider buying the maintainer a beer.

Tag summary

Content type

Image

Digest

sha256:f028145df

Size

625.3 MB

Last updated

4 days ago

docker pull marcpope/borgbackupserver