Sign inSign up

marcpope/borgbackupserver

By marcpope

•Updated about 2 hours ago

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

Image
Security
Databases & storage
Monitoring & observability
0

100K+

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:13a3e752e…

Size

675 MB

Last updated

about 2 hours ago

docker pull marcpope/borgbackupserver