Skip to main content

duplicacy-exporter

Docker Pulls GitHub Stars Release License

duplicacy-exporter is a Prometheus exporter for Duplicacy backups. It reads the CLI's log or receives the Web UI's report, and exposes progress and speed while a backup runs and the summary when it ends: duration, files, bytes uploaded, exit code and revision, per snapshot, storage and machine. Duplicacy on its own writes logs and sends email, so nothing tells you that last night's backup failed or that one has not run for three days; with the exporter, Prometheus alerts on both and the shipped Grafana dashboard shows every backup on every machine in one place.

The shipped Grafana dashboard while a backup runs: status stats, a progress gauge at 64 percent, upload speed and chunk charts, and the summary of the previous run

Features

  • Watch a backup run: progress, upload speed and chunks uploaded or skipped move on every chunk line of a CLI log that carries section headers.
  • Know how every backup ended: duration, files, bytes uploaded, exit code and revision number, per snapshot, storage target and machine.
  • Alert on a failed or a stale backup with the two Prometheus rules in the docs.
  • Know when the last prune finished, from CLI logs.
  • Two inputs: log_tail for the CLI, from a log file or a container's logs, and webhook for the Web UI's report_url.
  • Readable labels: snapshot id, storage target and machine name come from the log, and IPs or Tailscale names map to names you choose.
  • Values survive a restart: the last completed run is saved to disk and served again on start, so dashboards and Home Assistant sensors never go blank on an upgrade.
  • Storage size and revision counts from an optional poller that runs the bundled duplicacy CLI.
  • A ready-made Grafana dashboard (#25089).
  • One Python file, one dependency, a 39 MB image for amd64 and arm64, or pipx install duplicacy-exporter.

Quick start

Pick the line for your Duplicacy, then check it.

# Duplicacy Web UI: receive the report it posts when a backup ends
docker run -d --name duplicacy-exporter -p 9750:9750 -e MODE=webhook \
  -v duplicacy-exporter-data:/data drumsergio/duplicacy-exporter:0.6.1
# Duplicacy CLI: tail the log your backup job writes
docker run -d --name duplicacy-exporter -p 9750:9750 -e MODE=log_tail \
  -e LOG_FILE=/logs/duplicacy.log -e MACHINE_NAME=$(hostname) -e SNAPSHOT_ID=my-snapshot \
  -v /path/to/duplicacy/logs:/logs:ro -v duplicacy-exporter-data:/data drumsergio/duplicacy-exporter:0.6.1
curl -s localhost:9750/health

curl answers OK, backup series appear on /metrics after the first run ends, and live progress needs the --- Backup -> Primary (<id>) --- headers that duplicacy-cli-cron writes (a plain duplicacy backup log gives the summary only). For the Web UI, set report_url to http://<address of this host>:9750/webhook, because the Web UI container cannot resolve the exporter's container name unless both share a Docker network. Port 9750 has no authentication and /webhook is open in every mode, so publish it only to a network you trust. Then add :9750/metrics to Prometheus and import dashboard 25089; Getting started has the compose files, the PyPI install and the first check.

Documentation

The full documentation is at geiserx.github.io/duplicacy-exporter.

Open an issue for bugs and questions, with the exporter's log at LOG_LEVEL=DEBUG. Report security problems through the security policy, never in a public issue.

duplicacy-container (image and Helm chart), duplicacy-cli-cron (scheduled CLI backups whose log this exporter reads), duplicacy-ha (Home Assistant sensors from /metrics), duplicacy-mcp (MCP server).

License

GPL-3.0-or-later

Metadata

Release files for duplicacy-exporter 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for duplicacy-exporter 0.6.1
File Size Uploaded Provenance
duplicacy_exporter-0.6.1.tar.gz 46.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for duplicacy-exporter 0.6.1
File Interpreter ABI Platform
duplicacy_exporter-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 77.4 kB

Release files / duplicacy_exporter-0.6.1.tar.gz

Download URL duplicacy_exporter-0.6.1.tar.gz
Size 46.5 kB
Tags Source
SHA-256 checksum
How to use checksums
339d54e61bbaeaaea644075d7b9a4a710e3d69afc63e66322fe1bd9295687874
BLAKE2b-256 checksum
How to use checksums
cf15050148e738ad3d4e72cb32ab55022a3168e23dc3f7981954068c1a69ed4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / duplicacy_exporter-0.6.1-py3-none-any.whl

Download URL duplicacy_exporter-0.6.1-py3-none-any.whl
Size 30.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9681487838d3ef67fd1159c1e262d440e898bb9184d1047333b1293ade05d3c6
BLAKE2b-256 checksum
How to use checksums
2092341a469c438ebb309ef52aa17b81e51c98ce72de371792981114627f1750
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for duplicacy-exporter 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page