Duplicati for Servers: Encryption, Monitoring, Automation

Data loss from disk failure or accidental deletion is a risk that cannot be ignored. We configure Duplicati for servers: encrypt backups, set up monitoring, and automate backup processes. Our team delivers turnkey projects from audit to recovery, ensuring reliable protection and ongoing support.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1359
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

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?

  1. Install Duplicati as a service (systemd).
  2. Open the web interface at localhost:8200, set a password.
  3. Create a task: choose a backend (S3, B2, SFTP), specify backup paths.
  4. Configure encryption: AES-256 with a master password.
  5. 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 duplicati

The 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"
fi

We 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.