Duplicati for Servers: Encryption, Monitoring, Automation
A DevOps engineer faces the task: set up backup for 20 servers with different OSes, cloud storage, and retention requirements. Duplicati solves it in half a day: web interface, AES-256 encryption, 20+ backends — and no manual scripting. Within an hour after installation, you see the first backup in the cloud, and monitoring sends notifications to Slack.
How Duplicati Solves the Problem of Data Loss?
Data loss due to disk failure or accidental deletion. Duplicati performs incremental backups with versioning: you can roll back to any point in the last 90 days. AES-256 encryption and TLS transmission protect data in the cloud. In one project, we restored a PostgreSQL database after rm -rf: the backup was on Backblaze B2, restore took 40 minutes.
Complexity of scheduling and notifications. The built-in scheduler and integration with Healthchecks.io, Slack, email let you forget about manual control. We set up alerts for any failure: missed backup, corrupted index, storage error. Over a year — 0 data loss on 15 servers.
How to Set Up a Server Backup in 5 Steps?
- Install Duplicati as a service (systemd).
- Open the web interface at localhost:8200, set a password.
- Create a task: choose a backend (S3, B2, SFTP), specify backup paths.
- Configure encryption: AES-256 with a master password.
- Set retention policy and notification sending.
# Installation on Debian/Ubuntu
wget https://github.com/duplicati/duplicati/releases/download/v2.0.8.1/duplicati_2.0.8.1-1_all.deb
apt-get install ./duplicati_2.0.8.1-1_all.deb
systemctl enable --now duplicatiThe web interface is available at http://localhost:8200. For production servers, be sure to configure authorization and bind to localhost — public access to the Duplicati web interface without a password means access to backup data.
Why Duplicati Instead of Cron Scripts?
Custom scripts require manual error handling, versioning, and notifications. Duplicati provides everything out of the box: encryption, deduplication, monitoring. You save development and maintenance time — just configure a task via GUI or CLI.
How to Automate Setup via CLI?
For servers without X11 or in automated deployments, use the CLI. Example of creating a task with encryption and retention:
duplicati-cli backup \
"s3://my-duplicati-backups/server1?aws-access-key-id=AKIA...&aws-secret-access-key=secret&aws-region=eu-central-1" \
/etc /home /var/www \
--encryption-module=aes \
--aes-encryption-key=my-strong-passphrase \
--compression-module=zip \
--retention-policy="7D:1D,4W:1W,12M:1M" \
--exclude-files-attributes=temporary,system \
--exclude="/var/www/*/node_modules"--retention-policy="7D:1D,4W:1W,12M:1M" — keep daily backups for 7 days, weekly for 4 weeks, monthly for 12 months. Syntax: period:interval.
Monitoring and Alerts
Duplicati can send email notifications about results. In the task settings (GUI), specify SMTP parameters. For integration with Healthchecks.io, add a script in --run-script-after:
#!/bin/bash
# ping-healthchecks.sh
if [ "$DUPLICATI__PARSED_RESULT" = "Success" ]; then
curl -fsS -m 10 https://hc-ping.com/YOUR-UUID
else
curl -fsS -m 10 "https://hc-ping.com/YOUR-UUID/fail"
fiWe use this approach on 30+ servers — alerts arrive in Slack within 30 seconds after a failure.
| Criteria | Duplicati | Restic/Borg |
|---|---|---|
| Web interface | Yes | No |
| Encryption | AES-256 (built-in) | AES-256 (built-in) |
| Deduplication | Within task | Within repository |
| Speed for small files | Medium | High |
| Cloud backend support | 20+ | 5-7 |
What Are the Limitations of Duplicati and When to Choose Restic?
Duplicati stores the backup index locally in SQLite. With a large number of versions (>100) and millions of files, the database slows down. For servers with hundreds of thousands of small files, consider Restic or Borg — they work noticeably faster due to more efficient metadata storage. Also, Duplicati does not support deduplication between different tasks, unlike Restic and Borg, which deduplicate within a single repository. If you have 10 identical servers — consider Borg.
Example retention policies for different scenarios
| Scenario | Retention |
|---|---|
| Web server (logs + content) | 7D:1D, 4W:1W, 6M:1M |
| Database (dumps) | 30D:1D, 12M:1M |
| File server (documents) | 90D:1D, 24M:1M |
What's Included in the Work
- Audit of the current backup scheme and retention improvement.
- Duplicati setup (or migration from another solution) with encryption and monitoring.
- Documentation of recovery procedures (runbook).
- Integration with the alert system (Healthchecks, Slack, email).
- Handover of access and engineer training.
- Test restore as part of the project.
Timeline and Cost
Setup time: 0.5–2 days depending on the number of servers and complexity. The cost is calculated individually — contact us for an estimate.
Our engineers have 10+ years of experience in backup and have AWS and Kubernetes certifications. 5 years on the market, more than 50 completed backup projects. Order an audit of your backup scheme — get a consultation. Contact us for an individual estimate — we'll find the optimal solution.







