
Self-hosting Duplicati the easy way
Yulei ChenDuplicati is a free, open-source backup client that handles scheduled, encrypted, incremental backups to just about any cloud storage: S3, Backblaze B2, Google Drive, SFTP, WebDAV, and many more. The hosted Duplicati Company plans start at $3/month per device and scale from there, which adds up fast once you're backing up multiple servers or a lot of data.
Self-hosting gives you unlimited devices, unlimited backup destinations, and full control over your encryption keys. Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Duplicati up and running in minutes, no server setup, no reverse proxy config, no infrastructure to maintain.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server. If you just signed up you get a 48-hour free trial server
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Duplicati preset. The preset is built for a clean, stable default setup:
- Official
linuxserver/duplicatiimage, which is the most popular and actively maintained Duplicati container - Specific version tag for stability (
v2.3.0.0_stable_2026-04-14-ls288, the latest stable build at the time of writing, check Docker Hub for newer versions) - Persistent volume mounted to
/configfor the Duplicati database, job definitions, and encryption settings - Persistent volume mounted to
/backupsso you can store backups on the same server if you don't have remote storage yet - Web UI bound to all interfaces on port
8200viaDUPLICATI__WEBSERVICE_INTERFACE=any - A strong auto-generated web UI password and settings encryption key baked in from the start
Next steps
Once Duplicati is running on Sliplane, access it using the domain Sliplane provided (e.g. duplicati-xxxx.sliplane.app).
Default credentials
The preset generates a random password for the web UI. On the service's Environment tab, copy the value of DUPLICATI__WEBSERVICE_PASSWORD and paste it into the login screen the first time you open the UI.
The SETTINGS_ENCRYPTION_KEY protects the internal Duplicati database (where your backup destinations, schedules, and passphrases live). Save this value somewhere safe, such as a password manager. If you ever migrate to a new server or restore the container, you'll need the same key, otherwise Duplicati can't decrypt its own settings. See the Duplicati docs on the encrypted database for details.
Creating your first backup
Once logged in:
- Click Add backup and choose Configure a new backup.
- Set a strong backup passphrase. This is separate from the settings encryption key and is what actually encrypts your data. Store it safely, without it, your backups are unrecoverable.
- Pick a destination: S3, Backblaze B2, Google Drive, an SFTP server, or even the local
/backupsvolume mounted in the container. - Select source data from
/configor/backups(or add more volumes, see below). - Set a schedule and click Save.
Backing up other services running on Sliplane
Duplicati can only back up files it can see inside its container. To back up data from another Sliplane service, mount that service's volume into Duplicati as well. On the Duplicati service's Volumes tab, attach the volume from the other service (for example your n8n-data or postgres-data volume) and set a container path like /source/n8n. After redeploy, that path appears in the Duplicati UI as a backup source. For a walkthrough of different Docker volume backup strategies, check out our post on 4 easy ways to backup Docker volumes.
Timezone
The preset uses Etc/UTC. If you want schedules to match your local time, change TZ to a value like Europe/Berlin or America/New_York on the Environment tab and redeploy.
Logging
Container logs go to STDOUT by default, which works nicely with Sliplane's built-in log viewer. If you need more verbose operational logging inside Duplicati itself, you can configure per-job log files under each backup's advanced options. For general Docker log tips, check out our post on how to use Docker logs.
Troubleshooting
If the web UI won't load, check the service logs on Sliplane for s6-overlay init errors, these usually point to a permission issue on the /config volume. The linuxserver image fixes ownership at startup using the PUID and PGID env vars, both set to 1000 by default in the preset.
If you forgot the web UI password, set a new value for DUPLICATI__WEBSERVICE_PASSWORD in the Environment tab and redeploy.
Cost comparison
You can self-host Duplicati on other cloud providers too. Here is a pricing comparison for a similar footprint:
| Provider | vCPU Cores | RAM | Disk | Estimated Monthly Cost | Notes |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 | charge per server |
| Render | 1 | 2 GB | 40 GB | ~$35–$45 | VM Small |
| Fly.io | 2 | 2 GB | 40 GB | ~$20–$25 | VM + volume |
| Railway | 2 | 2 GB | 40 GB | ~$15–$66 | Usage-based |
FAQ
Where does Duplicati actually store my backups?
Wherever you point it. Duplicati is a backup client, not a storage service. You configure a destination per backup job: S3-compatible buckets (AWS S3, Backblaze B2, Hetzner Object Storage, MinIO), WebDAV, SFTP, Google Drive, OneDrive, Dropbox, or a local path. Most people use a cheap object store, see our rundown of 5 cheap object storage providers for ideas.
Is my data encrypted?
Yes. Duplicati encrypts backups client-side with AES-256 using the passphrase you set per backup job, before anything is uploaded. The storage provider only ever sees ciphertext. Keep the passphrase somewhere safe, Duplicati cannot recover it if lost.
Can I back up my databases with Duplicati?
Yes, but for consistent backups of a running database, dump it first with pg_dump / mysqldump on a schedule and point Duplicati at the dump directory, rather than copying raw database files from under a live process. For a ready-made workflow, take a look at backup and restore Postgres via SSH tunnel and backup and restore MySQL via SSH tunnel.
How do I update Duplicati?
Change the image tag in your service settings and redeploy. Check Docker Hub for the latest stable tag. The linuxserver image format is v<version>_stable_<date>-ls<build>.
Are there alternatives to Duplicati?
Yes. restic and BorgBackup are popular CLI-first alternatives with strong deduplication. Kopia offers a similar scope to Duplicati with a modern UI. For Docker volume backups specifically, check out our post on 4 easy ways to backup Docker volumes.