Borgmatic
Configuration-driven wrapper around BorgBackup with database backup support, monitoring hooks, and YAML-based retention policies. GPL-licensed and free
Quick Start
docker run --rm -v /etc/borgmatic.d:/etc/borgmatic.d -v /home:/home:ro borgmatic/borgmatic create Overview
Borgmatic is a configuration-driven backup wrapper around BorgBackup that eliminates the need to remember and maintain long Borg command strings. You write a YAML configuration file describing what to back up, where to store it, and how long to keep it, and Borgmatic handles the rest.
What makes Borgmatic particularly useful for server environments is its built-in database backup support. PostgreSQL, MySQL, MariaDB, MongoDB, and SQLite databases can all be backed up as part of the same job that backs up your files, with consistent dump-and-restore handling built in. You configure the database connection once; Borgmatic handles the pre-backup dump and post-restore reload automatically.
Filesystem snapshot support via Btrfs, ZFS, and LVM integrates with the same configuration model. Monitoring hooks send backup status to Healthchecks.io, Cronitor, and other services so you are alerted if a scheduled backup fails silently rather than discovering the gap during a recovery.
Borgmatic inherits BorgBackup’s storage model: encrypted, compressed, deduplicated snapshots stored to any SSH-accessible server, or via rclone to cloud providers. BorgBase, Hetzner, and rsync.net offer Borg-optimized repository hosting at reasonable prices.
The project is GPL-3.0-licensed and free. It installs as a Python package and runs as a cron job or systemd timer. For anyone already using BorgBackup who finds the raw command interface tedious to maintain across multiple servers, Borgmatic is a natural addition.
Use Cases
Specific ways to use Borgmatic for your workflow.
Deployment Strategy
Recommended ways to host Borgmatic in your own environment.