DIY Cloud Backup: Installing and configuring a client

In the previous article I showed you how to install and configure the server and storage. So now that we have a storage target running for a tenant, let’s install the Duplicati 2 client software and configure a backup!

This post is part of a multi-part article.

You can find the main index here

Downloading the software

For demonstration purposes I’m going to use a Windows 10 Pro client but Duplicati 2 is available for Windows, Linux and Mac. If people are interested I could do a Linux tutorial also.

To download, we need to go to the following page:

https://www.duplicati.com/download

There we select to download the (beta) 2.0 client.

Installing Duplicati 2

Once downloading is done, execute the downloaded MSI file. You’ll be greeted with an Install Wizard.

Click next to continue
It’s open-source software so no harmful terms inside!
The software is only 38MB, so installing it to the default C drive location is often best
A Windows wizard will pop-up asking you if making system changes is allowed. Since we know what we are installing, click yes.
All done, wizard finish, click finish and the Duplicati 2 interface should open automatically in your favorite browser!

Configuring Duplicati 2

One started, the configuration interface opens in your favorite web browser. Don’t worry, by default you can only access it locally, so there is no security risk of anyone else on the network re-configuring your back. You can however make it remotely manageable if you so desire!

The default interface

Selecting darker theme

The first thing I always do is change the interface from this white-blue color to a darker theme. Click on settings and select the following:

Select the second, darker theme
Make sure to hit “OK” when done!

Configuring a backup job towards our Minio S3 storage

I will be using the “seconduser” we made at the end of the last tutorial for this demonstration installation.

Click the “Add backup” button in the left bar

First question dialog of the configuration wizard.

We want to “Configure a new backup”, leave it selected and click “next >”.

Enter a name for the backup. You can choose to backup all your of this host/client in one backup job, or maybe create several. With larger data sets creating several smaller jobs is advised.

Leave the AES-256 Encryption selected, it’s how we secure the backup so that only the person with the passphrase can open it later on.

Once done, click “next >”.

Configuring the connection to the Minio S3 storage backend

Here things get a bit more interesting.

We need to fill in the following items:

Storage Type: S3 Compatbile
Server: Custom Server URL
ip.ip.ip.ip:port
Bucket Name: give it a logical name
AWS Access ID: yourtenant accesskey
AWS Access Key: yourtenant secretkey

*Enable advanced option: s3-ext-forcepathstyle

Of course, you won’t remember this information from head. So we can look it up. If you are granting tenants access, this is also the exact information they need to have to make it all work.

Logging on to the backup server we can run three commands to see what we need:

ps -ef | grep minio
sudo systemctl restart minio-seconduser.service
tail -n 30 /var/log/syslog

This should give you the following output:

With this we have all the details we need to know to get the tenant up and running, Port, Access ID and key. All three values are unique per tenant, but shared between the clients of one tenant.

If you have it all configured (don’t forget to set the advanced option!) , click the “test connection” button.

A wild popup appears!

I normaly choose “No” because I don’t want a string in front of my bucket names. Nothing is going to brake if you choose yes though, but I recommend No.

Since we are configuring a new client/backup the bucket does not yet exist on the Minio S3 backend server. You can either pre-create it or just select “Yes” here.

It worked!

Ok, the hard part is over! Click ok and  click “Next >” to continue.

Selecting the data you want to backup

Select the data you want to backup from this client or in this backup job.

If you want to exclude certain files or filer a certain type of files out of the backup, you can alter the selection using the Filters and Exclude selections. When done, click “Next >”.

Setting the backup schedule

Here you can determine how often the back should run. Because after the first backup all further backups happen in seconds, I like to run them more often then the default schedule.

Run again every 1 days --> 2 hours

All the other fields I leave alone because they are fine for my needs. Click “next >” to continue.

General options

Here we can change the archive size (mostly just leave alone) and how long you want to keep backups. By default it’s set to keep all backup copies until they reach 3 months old. I’m fine with that generally.

If you have a lot of open files or files like .PST files you can set an “Advanced option” called

Advaned Options
    snapshot-policy
        Auto, on, off, required

If you set this to required a VSS snapshot will be made before starting the backup, allowing you to backup open files.

Click “Save” to continue.

Running a backup

The default schedule sets the first backup to run tomorrow.

To run a backup immediatly, click the little text that says “run now”. Let’s click it to see if it all works!

If all went correctly, a backup should be running, you can follow the status in real-time in the top bar.

And that’s it, your first backup has been made. Compression and deduplication also seems to be doing it’s work quite well on my selected files, storing my 601MB inside of 242MB!

The first backup will always take considerably longer then following backups!

Last we can also check in our Minio instance to see if everything arrived.

All is looking well in Minio and you can see that because of the ZFS quota’s the tenant sees it’s own free space only.

Concluding remarks

And that rounds up the basic client configuration part! Later I will write a guide on how to do restores and how to set some more advanced options such as reporting, etc. but with this post finished you should now have everything you need to build your own multi-tenant, multi-client backup solution!

Let me know what you think in the comments, and tips and tricks are also always welcome!

One thought on “DIY Cloud Backup: Installing and configuring a client”

  1. Keep it coming this is a really well written and executed tutorial. I am in the design phase for a client offsite backup plan and I had not considered duplicati or minio.

    Not sure I want to take on the responsibility of running my own S3 for paying clients though.

    Either way, thanks for putting this together.

Leave a Reply

Your email address will not be published. Required fields are marked *