Duplicacy Backup Monitor for Home Assistant

June 26, 2026 · View on GitHub

Duplicacy for Home Assistant banner

Duplicacy Backup Monitor for Home Assistant

HACS Tests codecov Home Assistant GitHub Stars License: GPL-3.0

A Home Assistant custom integration that monitors Duplicacy backups through the duplicacy-exporter Prometheus exporter.

Get real-time backup status, progress, speed, and historical metrics directly in your Home Assistant dashboard.

Prerequisites

A running instance of duplicacy-exporter that exposes /metrics (Prometheus format) and /health endpoints.

Installation

  1. Open HACS in Home Assistant.
  2. Go to Integrations and click the three-dot menu.
  3. Select Custom repositories.
  4. Add https://github.com/GeiserX/duplicacy-ha with category Integration.
  5. Search for "Duplicacy Backup Monitor" and install it.
  6. Restart Home Assistant.

Manual

  1. Copy the custom_components/duplicacy directory into your Home Assistant config/custom_components/ directory.
  2. Restart Home Assistant.

Configuration

  1. Go to Settings > Devices & Services > Add Integration.
  2. Search for Duplicacy Backup Monitor.
  3. Enter the URL of your duplicacy-exporter (default: http://localhost:9750).
  4. The integration will verify the connection and create all entities.

A separate HA device is created for each unique backup job (identified by snapshot ID and storage target). Each device contains all applicable sensors and binary sensors.

Removing old devices

If a backup is no longer reported by the exporter (for example a renamed job, or the combined device replaced by per-folder devices in exporter 0.5.0+), its device becomes stale. Open the device page and use Delete to remove it. Devices that are still being reported can't be deleted — they would just be re-created on the next update.

Entities

Sensors

EntityDescriptionUnitDevice Class
Last successful backupTimestamp of the most recent successful backup-Timestamp
Last backup durationHow long the last backup tooksecondsDuration
Backup speedCurrent upload speed during a running backupB/sData Rate
Backup progressCurrent backup completion percentage%-
Bytes uploaded (last)Bytes uploaded in the last backupbytesData Size
New bytes (last)New bytes detected in the last backupbytesData Size
Total files (last)Number of files processed in the last backup--
New files (last)Number of new files in the last backup--
Last exit codeExit code of the last backup (0 = success, 1 = failure)--
Last revisionRevision number of the last backup--
Chunks uploadedChunks currently being uploaded--
Chunks skippedChunks skipped (already present)--
New chunks (last)New chunks created in the last backup--
Total bytes uploadedCumulative bytes uploaded (monotonically increasing)bytesData Size
Last successful pruneTimestamp of the most recent successful prune operation-Timestamp

Binary Sensors

EntityDescriptionDevice Class
Backup runningWhether a backup is currently in progressRunning
Prune runningWhether a prune operation is currently in progressRunning

Example Automations

Alert on Backup Failure

automation:
  - alias: "Duplicacy backup failed"
    trigger:
      - platform: state
        entity_id: sensor.documents_b2_last_exit_code
        to: "1"
    action:
      - service: notify.mobile_app
        data:
          title: "Backup Failed"
          message: "Duplicacy backup for 'documents' to B2 has failed."

Alert if No Backup in 24 Hours

automation:
  - alias: "Duplicacy no backup in 24h"
    trigger:
      - platform: template
        value_template: >
          {{ as_timestamp(now()) - as_timestamp(states('sensor.documents_b2_last_successful_backup')) > 86400 }}
    action:
      - service: notify.mobile_app
        data:
          title: "Backup Overdue"
          message: "No successful Duplicacy backup for 'documents' to B2 in the last 24 hours."
  • duplicacy-exporter - The Prometheus exporter this integration connects to
  • Duplicacy - Lock-free deduplication cloud backup tool
  • HACS - Home Assistant Community Store

Other Home Assistant Integrations by GeiserX

ProjectDescription
duplicacy-cli-cronDocker-based encrypted dual-storage backup automation using Duplicacy CLI
duplicacy-exporterReal-time Prometheus exporter for Duplicacy backups
duplicacy-mcpMCP Server for Duplicacy backup monitoring via Prometheus exporter
duplicacy-containerContainer image and Helm chart for running Duplicacy on Kubernetes

License

GPL-3.0