Backup your Linux Server with Duplicati
What is Duplicati?
Duplicati is an Open Source backup client that can run encrypted incremental backups to local storage or offsite with support for a large array of different file transfer protocols.
Supported Storage Protocols:
- FTP
- OpenStack Object Storage
- S3 Compatible
- SFTP (SSH)
- WebDAV
Proprietary Protocols:
- Amazon S3
- Azure Blob
- B2 Cloud Storage
- Box.com
- Dropbox
- Google Cloud Storage
- Google Drive
- HubiC
- Jottacloud
- Mega.nz
- Microsoft Onedrive
- Microsoft Sharepoint
- Rackspace CloudFiles
- Rclone
- Sia Decentralised Cloud
Install
This will be using Ubuntu 20.04 with Docker Compose but it should work on other distributions without issues.
- Install Docker
- Install docker-compose:
sudo apt install docker-compose - Make a duplicati directory to place the docker-compose file within:
sudo mkdir duplicati
cd duplicati - Use the following docker compose template:
sudo nano docker-compose.yaml
version: "2.1"
services:
duplicati:
image: ghcr.io/linuxserver/duplicati
container_name: duplicati
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- ./config:/config
- <Path to store local backups>:/backups
#Remove :ro (Read Only) when restoring!
- <Path to source for files to backup>:/source:ro
restart: unless-stopped
networks:
default:
ipv4_address: 10.10.10.10
networks:
default:
external:
name: dockernet
Please change the volume locations and potentially the IP.
-
Startup the docker container:
sudo docker-compose up -d -
Reverse Proxy Setup
The WebUI operates on port8200.
Example Caddy setup:
backup.example.com {
reverse_proxy 10.10.10.10:8200
}
-
Set a password for the WebUI, to prevent unauthorised access.

-
Configure a Name and Encryption Password (Make sure you save this) for your backup.

-
Select the storage type and enter your credentials.
-
Source Data
The source directory should contain the data you want to backup.

-
Select your Backup Schedule
Once a day is recommended but feel free to adjust this. -
You are safe to save this and finish the setup.
-
Press
Run nowand hope it runs without errors.
If errors do occur this is probably due to file permissions.
Please note when restoring the data you will want to remove :ro on the source volume otherwise it will be read only.
Cover Image Credit: https://unsplash.com/@benjaminlehman