Skip to main content

Backup Coordinator

⚠️ Experimental project

Overview

The backup coordinator project is a digital-alchemy based wrapper for BorgBackup, allowing for easy scheduled deduplicated backups of devices across your network. This project brings convenient bindings to Home Assistant via a synapse backed application

Basic Usage

This project ships with 2 major components:

  1. drone: a wrapper for borg deployed to each target machine
  2. backup_coordinator: a coordinator service for drone when to backup / offsite

Both portions of the project can be ran as either a standalone application or as an imported library/module for a larger app

Backup Drones

Backup drones are the portion of the project that handles interactions with borg itself. It exposes entities for:

See install guide for configuration details

Entity TypeNameDescription
numberBackup Frequency(minutes) Used by coordinator to schedule backups
buttonCreate BackupCreate a new backup
buttonPrune BackupsPrune old archives according to rules
buttonUpdate StatsUpdate archive stats sensors
buttonScheduled BackupRun a scheduled backup, includes create, prune, stats
sensorApplication StateThe current operation being performed. idle by default
selectApplication ModeShould this app be considered by the coordinator app
sensorLast PruneTimestamp of the last completed prune
sensorLast BackupTimestamp of the last completed backup
sensorArchive Total SizeTotal size of data in archive
sensorArchive Compressed SizeArchive size after compression
sensorArchive Deduplicated SizeArchive size after deduplication
numberKeep MonthlyRefer to borg docs
numberKeep YearlyRefer to borg docs
numberKeep WeeklyRefer to borg docs
textKeep WithinKeep all backups inside this time range
on a dashboardMultiple Backup Devices on Dashboard

While performing create operations, process updates will be emitted via Home Assistant events. The coordinator app is set up to receive this and centrally present information about the in-progress update.

This app is intended to run on the target machine needing backups

Coordinator

The coordinator app exists to coordinate the various

  • failure detection
  • round robin scheduler
  • progress watcher entities