WARNING! Due to changes in database versions it is not possible (well, very hands-on) to downgrade ACROSS these versions (as of 2018-10-28):
- 22.214.171.124 (using version 3 - 0 & 2 usage in preview releases only)
- 126.96.36.199 (move to version 4)
- 188.8.131.52 (move to version 5)
- 184.108.40.206 (move to version 6 - see Release: 220.127.116.11 (canary) 2018-10-23)
- 18.104.22.168 (unconfined move to version 7 - see *broken* Release: 22.214.171.124 (canary) 2019-01-29)
- 126.96.36.199 from 188.8.131.52 or newer (184.108.40.206 beta is a notification update only - see Release: 220.127.116.11 (beta) 2019-07-14)
If you do and notice your server not starting, try running
Duplicati.Server.exe from the command line. If you get a database version error such as
A serious error occurred in Duplicati: System.Exception: Failed to create, open or upgrade the database. then you’ll have to put the newer version folder back (or see “How to add versions…” block below).
Alternatively, you could revert to the backup automatically during the upgrade (usually named something like
backup 20181026082938.sqlite) HOWEVER this won’t include anything you did SINCE the upgrade so a database REPAIR (not Recreate) will likely be necessary.
Why you might want to downgrade
Some of the reasons you might want to downgrade to an earlier version
- new feature doesn’t work as expected
- orphaned (no longer supported in the GUI) old feature needs to be removed
- performance changes
Why you might NOT want to downgrade
Some reasons you might NOT want to downgrade
Occasionally there are database or other changes that may cause a downgraded installation to not work correctly. Generally this can be address by re-updating to the previous version or doing additional downgrade steps such as:
- manually updating the sqlite database to resolve issues such as database version errors
Also, be aware the if you are planning a temporary downgrade only (such as to resolve orphaned setting warnings) it’s probably best if you edit your jobs to disable any automatic scheduling. This makes sure a job doesn’t start up while you’re editing in the older version. Just be sure to re-enable the schedules when your done!
How to add versions you don’t already have in your updates folder
Here's how to add another version to your updates folder
Please note that these steps were tested on a Windows machine. If you try this on Linux or MacOS and it doesn’t work, please let us know.
If you find you want to downgrade to a version NEWER than what’s in your updates folder, you can MANUALLY “install” that update like this:
- Download the zip file version from the Releases · duplicati/duplicati · GitHub link
- Unzip it into a subfolder of your “updates” folder such as:
~/.config/Duplicati/updates/for Linux user
/root/.config/Duplicati/updatesfor Linux root
- If necessary, rename the unziped subfolder to be JUST the version number of what you unziped. So if you downloaded
duplicati-18.104.22.168_canary_2018-04-02.zipyou’d name the folder
22.214.171.124ending up with the
- Proceed with the normal “How to downgrade” process
This process can be useful if you find you’ve downgraded “too far” and Duplicati won’t start or you are finding errors in the
How to downgrade
To downgrade / revert your Duplicati version:
Use the main menu “About” -> “System info” Button to confirm your currently running version.
Stop Duplicati tray-icon and service AS applicable. (On Windows you can use
Ctrl-Shift-Escto open the Task Manager then select the
Servicestab to get access to stopping / starting the Duplicati service. On MacOS you might want to try running something like
sudo launchctl unload /Library/LaunchDamons/net.duplicati.server.plistor
sudo launchctl unload /Library/LaunchAgents/net.duplicati.tray-icon.plist.)
Go into your Duplicati updates folder and delete (or move it out of
updates, a rename won’t work) any version folders newer than what you want to run:
C:\ProgramData\Duplicati\updates(most Windows service instances)
C:\Users\<Duplicati user account>\AppData\Local\Duplicati\updates\(most Windows user / tray-icon instances)
~/.config/Duplicati/updates(most Linux user / tray-icon instances)
/root/Duplicati/updates(most Linux root / daemon instances)
/app/duplicati(most Linux Docker container instances)
/usr/share/Duplicati(reported by at least one user as where it was)
/Library/Application Support/Duplicati/updates(service / daemon on High Sierra 10.13.5)
Use the main menu “About” -> “System info” Button to confirm you are no longer running the version from step 1.
Note: You can not downgrade lower than your “base version”. This is the version you installed with an actual installer (not via the GUI updater) and for later versions of Duplicati can be seen in the
BaseVersionName line of the main “About” -> “System info” page.
If you want to go lower than your base version you will need to download and run the installer for an older version. This can usually be done “on top” of your current version, but if you choose to uninstall Duplicati first it would be safest for to export your backup jobs to text files so they can easily be re-added of the uninstall clears them out.
How Duplicati installs / updates work
Click here for the geeky details! :-)
When Duplicati is first installed it is put into the “base version” folder - basically where you’d expect an application to be installed.
When an update is installed through the GUI, it is downloaded into the
When a part of Duplicati is run (from the “base version” folder) it checks the updates folder for anything newer and passes control to that newer version.
Note that there do seem to be some instances (such as certain command line calls) where running the “base version” does NOT seem to pass control to newer versions, which is why you may see some posts about people using the command line but seeing an older version (usually the “base version”) reported.
How to tell what version you installed / updated to
Click here for even more geeky details! ;-)
Because Duplicati handles GUI based updates through the
updates folder as described above, looking at a version number using standard OS methods can cause confusion because only the base version is seen by the OS.
To know both your base version AND “execution version” you can go to the main menu “About” -> “System info” page and look at:
ServerVersionName(most recent update “execution version” being run)
BaseVersionName(manually installed “base version” not including any GUI updates, should match what’s reported by the OS)
Please note that this post is Wiki - if you see something incorrect or missing, feel free to fix or add it yourself by clicking the button at the bottom right of this post!