Skip to content

Installation

Duplicati components

Before installing Duplicati, you should know how the different components relate to each other and how they can be configured. This makes it easier to decide how the software can be installed the way that matches your needs. The main components are:

  • The Server
    When the Duplicati server is started, Duplicati can perform tasks in the background, like making backups, do restore operations and perform maintenance tasks.
    The server part has a built-in scheduler to start backup jobs automatically at regular intervals.
    For configuring new (or modifying existing) backup jobs, changing settings, and monitoring running backups, a web server is included in the server component.
    If the server component starts, the webservice listens on the loopback interface, making it reachable from the local host only. The server tries to start listening on TCP port 8200. If this port is unavailable (because of another running Duplicati server instance or another process that uses port 8200), port 8300 will be tried, increasing until an unused port is found. Port and interface can be customized by specifying some command line parameters.
  • The Command Line tools
    Duplicati can make backups without loading the server component, using the command line tools. To schedule backups without using the server component, almost all task schedulers can be used, for example the Windows Task Scheduler (Windows) or Cron (Linux).
    Other command line tools can help with restore operations, recovering files from corrupted backups, installing the server component as a server, analyze communication with backends or update the software.
  • The Tray Icon
    When started, the Duplicati Tray icon tool creates a small icon in the System Tray for easy access to the Duplicati Web Interface. The server component is included in the Tray Icon tool. After a default installation, the Tray Icon tool will be automatically started after a user logs on, making it unnecessary to configure the server component in an everyday use case.
  • The Service
    Basically this is the same as the Duplicati Server component, but running as a Windows service. If Duplicati is registered as a Windows service, a small agent starts the server component and pings the server to verify it is running. If the server component is unreachable, the agent will restart it.

When a backup is made, Duplicati has the same permissions to the file system as the user context it is running in. If Duplicati is started with the Tray Icon tool, a user starts the Server component, or the command line tools are used, a backup can be made from all files that the user has read access to. Probably personal documents of other users that log on the same computer cannot be backed up by this instance.

However, other users can run their own Duplicati server instance (using different port numbers for the web server), which will give them access to their own personal files. The settings and backup configurations are stored at separate locations, so all users will see their own Duplicati environment.

If you want to be able to access all files on your computer and backup files from multiple users with the same Duplicati instance, the best option is to register Duplicati as a Windows service. Services are started by default with the Local System account. This account has NTFS permissions to the complete file system. Note that this will give the backup operator access to the files from all users that log on to the computer by using the source file picker in the Duplicati Web interface. It is highly recommended to secure the web interface with a strong password in this case.

Registering Duplicati as a service could also be a solution if you want to make use of Volume Shadowcopy Services (VSS), but your user account does not have administrative privileges.


Running Duplicati using the Tray Icon causes the Duplicati Server component to start after the user logs on. If you want Duplicati to be able to run backups after a restart, before a user logs on, consider registering Duplicati as a service.


Prerequisites


Duplicati depends on other software. For Windows, Microsoft .NET Framework 4.6.2 or higher needs to be installed. Linux and Mac OS X require Mono to be installed.

If your system has no or an outdated version of the .NET Framework, download the latest version from https://www.microsoft.com/net/download/framework and install it.

To be able to backup files that are in use by another process, Duplicati uses AlphaVSS to accomplish this. AlphaVSS needs the Visual C++ run-time components for Visual Studio 2015. Download and install the binaries from https://www.microsoft.com/en-us/download/details.aspx?id=48145.



Follow this procedure to install Mono on your Linux based system.

Ubuntu 20.04 / 22.04 / 23.10:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

sudo apt update

sudo apt install mono-devel gtk-sharp2 libappindicator0.1-cil libmono-2.0-1

Ubuntu 18.04:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

sudo apt update

sudo apt install mono-devel gtk-sharp2

Ubuntu 16.04:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Ubuntu 14.04:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Ubuntu 12.04:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/ubuntu precise main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Debian 10:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian buster main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Debian 9:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian stretch main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Debian 8:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian jessie main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Debian 7:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Raspbian 9:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian raspbianstretch main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

Raspbian 8:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian raspbianjessie main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel

CentOS 7:

yum install yum-utils

rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"

yum-config-manager --add-repo http://download.mono-project.com/repo/centos7/

yum install mono-devel

CentOS 6:

yum install yum-utils

rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"

yum-config-manager --add-repo http://download.mono-project.com/repo/centos6/

yum install mono-devel

Raspberry Pi Debian Buster:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian raspbianbuster main" | sudo tee /etc/apt/sources.list.d/mono-official.list

sudo apt-get update

sudo apt-get install mono-devel



Download the latest Mono version from http://www.mono-project.com/download/. Run the .pkg file and accept the terms of the license.

Alternatively, you can install Mono using Homebrew:

brew install mono

To use the tray icon, you currently have to install python3 (you can check that by running /usr/bin/python3) and add pyobjc by hand from a terminal:

sudo pip3 install pyobjc

There is no need to reinstall Duplicati if it's already present.


Downloading Duplicati

Duplicati can be downloaded from https://www.duplicati.com/download.

There are three main builds available:

  • Beta: This is the most stable build and is recommended for most users. This allows you to test the new features we're working on. Ensure you test restoring data with this version prior to using it in production environments.
  • Experimental: Specific builds for developers only. Not for use with important data.
  • Canary: Individual builds for developers only. Not for use with important data.

Choose the build that best suits your needs. Then, choose version that matches your operating system from that build. The Zip file version contains the binaries without an OS-specific installer. Use the Zip file version for a portable installation or if you want to use the Command Line tools only. This version can be used for all supported operating systems.

Installing Duplicati on Windows


The installation procedure for Windows systems is pretty straightforward. Download the Windows MSI installer package from https://www.duplicati.com/download. If you have a 32 bit version of Windows, download the Windows 32 bit installer package.

First step is the Welcome screen. Click Next to proceed.

Read the license agreement. If you agree, select I accept the terms in the License Agreement and click Next.

Select which components you want to install. Pay special attention to Launch Duplicati at startup. If it is selected, the Duplicati Tray Icon Tool will be started automatically after logging on to Windows. The Duplicati Server component is included in the Tray Icon tool. If you want to start the server component another way (i.e. by registering the server component as a Windows service), you have 2 options:

  • Disable Launch Duplicati at startup.

The Tray Icon tool will be installed, but not automatically started. You can start it manually by executing Duplicati.GUI.TrayIcon.exe.

  • Keep Launch Duplicati at startup enabled, but modify the properties of the shortcut after the installation wizard has been completed.

This will ease access to the Duplicati Web interface, but if you don't manually deactivate the internal server component, you will end up with multiple Duplicati instances, which is probably undesirable.

Click Next to proceed.

Click the Install button to start the installation.

Wait for the installation procedure to complete.

If you don't want to start the Duplicati Tray Icon tool now (i.e. if you want to register it as a service), deselect Launch Duplicati now.

Click Finish to complete the installation wizard.

The first time the server component starts, Windows Firewall (or another third party firewall application) may show an alert. Allow Duplicati to communicate over the network.

Configuring the Duplicati Tray Icon in Windows

If you have chosen Launch Duplicati at startup, but don't want to use the internal server component of the Tray Icon tool, you have to edit the properties of the Duplicati shortcut in the Windows Startup folder. Usually Windows Startup folder is located at C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Browse to this folder and edit the properties of the Duplicati 2 shortcut. Add space and after --no-hosted-server to the Target field. So the end of the line should look like Duplicati.GUI.TrayIcon.exe" --no-hosted-server

Because at the moment the internal server component of the Tray Icon tool is already running you need to restart your PC for changes to take effect. After PC restart a Duplicati icon will be shown in the system tray after logging in to Windows, but the Duplicati server component needs to be started separately.


If you disabled Launch Duplicati at startup in the installation wizard and want to startup the Duplicati Server component during bootup time, you have to register Duplicati Server as a Windows service. See Duplicati.WindowsService.exe for more information.



Installing Duplicati on Linux


Follow this procedure to install Duplicati on your Linux based system.

Maybe optional: Forum instructions advise installation of the following Debian repository packages.

sudo apt install apt-transport-https nano git-core software-properties-common dirmngr -y

Download Debian .deb file from https://www.duplicati.com/download

wget https://updates.duplicati.com/beta/duplicati_[...]_all.deb

Edit this line too before you run it with the correct deb file filename you just downloaded:

sudo apt install ./duplicati_[...]_all.deb -y

Create and edit the file /etc/systemd/system/duplicati.service

sudo nano /etc/systemd/system/duplicati.service

Should look like this:

[Unit]
Description=Duplicati web-server
After=network.target

[Service]
Nice=19
IOSchedulingClass=idle
EnvironmentFile=-/etc/default/duplicati
ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS
Restart=always

[Install]
WantedBy=multi-user.target

Edit the file /etc/default/duplicati and add DAEMON_OPTS options to your liking: sudo nano /etc/default/duplicati

# Defaults for duplicati initscript
# sourced by /etc/init.d/duplicati
# installed at /etc/default/duplicati by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Additional options that are passed to the Daemon.
DAEMON_OPTS="--webservice-interface=any --webservice-port=8200 --portable-mode"

Enable, start and check running status of the duplicati service:

sudo systemctl enable duplicati.service
sudo systemctl daemon-reload
sudo systemctl start duplicati.service  
sudo systemctl status duplicati.service