I am installing duplicati_2.0.8.1-1 on a Raspberry running Ubuntu Server 20.4.2.
It should be functioning normally, this is my first time using Duplicati.
Thanks!
I don’t know how to bypass the hostname to access with just the IP, using the command I added to allow my hostname
When I modify /etc/default/duplicati, I restart using the following command
when I run$ sudo lsof -i ":8200" -sTCP:LISTENit gives no output.
I checked the service status using$ sudo systemctl status duplicati.serviceand it was running unnormall,says
● duplicati.service - Duplicati web-server
Loaded: loaded (/etc/systemd/system/duplicati.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2025-04-11 10:50:51 CST; 2min 28s ago
Process: 4814 ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS (code=exited, status=100)
Main PID: 4814 (code=exited, status=100)
Apr 11 10:50:51 raspberrypi systemd[1]: duplicati.service: Scheduled restart job, restart counter is at 5.
Apr 11 10:50:51 raspberrypi systemd[1]: Stopped Duplicati web-server.
Apr 11 10:50:51 raspberrypi systemd[1]: duplicati.service: Start request repeated too quickly.
Apr 11 10:50:51 raspberrypi systemd[1]: duplicati.service: Failed with result 'exit-code'.
Apr 11 10:50:51 raspberrypi systemd[1]: Failed to start Duplicati web-server.
I don’t know what happened, it was working fine when I first started.
So instead of a host name and port, you used an IP address and port. Did I misread?
It looks like it’s in some sort of overly rapid start then fail cycle. I need its failure detail.
See if you can find an error message explaining the exit 100 (which is an error) better.
journalctl --unit=duplicati.service --lines=40 might be a way to start on that.
Back to prior 2.0.8.1 question – where did you get this Duplicati? That’s an old version.
If it’s some third-party package (not from Duplicati), it might deserve a closer inpection.
Thank you for your reply!
I entered 192.168.0.100:8200 in the browser to access Duplicati. 192.168.0.100 is the IP of the server in the LAN.Is this the right thing to do?
2.0.8.1 is an installation package provided by a third party.
Last time I updated toduplicati-2.1.0.5_stable_2025-03-04-linux-arm64-gui.deb(or cli?) ,then there was a startup failure error. I’m sorry that I forgot to explain it.I don’t know whether to roll back to 2.0.8.1 or other earlier versions. duplicati-2.1.0.5_stable_2025-03-04-linux-arm64-gui.deb from the official website.
Here is the result of journalctl --unit=duplicati.service --lines=40
-- Logs begin at Thu 2020-04-02 01:23:42 CST, end at Sat 2025-04-12 14:50:36 CST. --
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at System.Data.SQLite.UnsafeNativeMethods.sqlite3_libversion()
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at System.Data.SQLite.SQLite3.get_SQLiteVersion()
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at System.Data.SQLite.SQLiteConnection.get_SQLiteVersion()
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: --- End of inner exception stack trace ---
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at Duplicati.Library.SQLiteHelper.SQLiteLoader.get_SQLiteVersion()
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at Duplicati.Server.Program.GetDatabaseConnection(Dictionary`2 commandlineOptions, Boolean silentConsole)
Apr 12 14:38:18 raspberrypi duplicati-server[188787]: at Duplicati.Server.Program.Main(String[] _args)
Apr 12 14:38:18 raspberrypi systemd[1]: duplicati.service: Main process exited, code=exited, status=100/n/a
Apr 12 14:38:18 raspberrypi systemd[1]: duplicati.service: Failed with result 'exit-code'.
Apr 12 14:38:18 raspberrypi systemd[1]: duplicati.service: Scheduled restart job, restart counter is at 4.
Apr 12 14:38:18 raspberrypi systemd[1]: Stopped Duplicati web-server.
Apr 12 14:38:18 raspberrypi systemd[1]: Started Duplicati web-server.
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: A serious error occurred in Duplicati: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.DllNotFoundException: Unable to load shared library 'SQLite.Interop.dll' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like str>
/usr/lib/duplicati/SQLite.Interop.dll.so: cannot open shared object file: No such file or directory
/usr/lib/duplicati/libSQLite.Interop.dll.so: cannot open shared object file: No such file or directory
/lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/duplicati/SQLite.Interop.dll)
SQLite.Interop.dll: cannot open shared object file: No such file or directory
/usr/lib/duplicati/libSQLite.Interop.dll: cannot open shared object file: No such file or directory
at System.Data.SQLite.UnsafeNativeMethods.sqlite3_libversion()
at System.Data.SQLite.SQLite3.get_SQLiteVersion()
at System.Data.SQLite.SQLiteConnection.get_SQLiteVersion()
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
at Duplicati.Library.SQLiteHelper.SQLiteLoader.get_SQLiteVersion()
at Duplicati.Server.Program.GetDatabaseConnection(Dictionary`2 commandlineOptions, Boolean silentConsole)
at Duplicati.Server.Program.Main(String[] _args)
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: A serious error occurred in Duplicati: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: ---> System.DllNotFoundException: Unable to load shared library 'SQLite.Interop.dll' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like str>
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: /usr/lib/duplicati/SQLite.Interop.dll.so: cannot open shared object file: No such file or directory
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: /usr/lib/duplicati/libSQLite.Interop.dll.so: cannot open shared object file: No such file or directory
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/duplicati/SQLite.Interop.dll)
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: SQLite.Interop.dll: cannot open shared object file: No such file or directory
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: /usr/lib/duplicati/libSQLite.Interop.dll: cannot open shared object file: No such file or directory
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at System.Data.SQLite.UnsafeNativeMethods.sqlite3_libversion()
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at System.Data.SQLite.SQLite3.get_SQLiteVersion()
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at System.Data.SQLite.SQLiteConnection.get_SQLiteVersion()
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: --- End of inner exception stack trace ---
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at Duplicati.Library.SQLiteHelper.SQLiteLoader.get_SQLiteVersion()
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at Duplicati.Server.Program.GetDatabaseConnection(Dictionary`2 commandlineOptions, Boolean silentConsole)
Apr 12 14:38:19 raspberrypi duplicati-server[188799]: at Duplicati.Server.Program.Main(String[] _args)
Apr 12 14:38:19 raspberrypi systemd[1]: duplicati.service: Main process exited, code=exited, status=100/n/a
Apr 12 14:38:19 raspberrypi systemd[1]: duplicati.service: Failed with result 'exit-code'.
Apr 12 14:38:19 raspberrypi systemd[1]: duplicati.service: Scheduled restart job, restart counter is at 5.
Apr 12 14:38:19 raspberrypi systemd[1]: Stopped Duplicati web-server.
Apr 12 14:38:19 raspberrypi systemd[1]: duplicati.service: Start request repeated too quickly.
Apr 12 14:38:19 raspberrypi systemd[1]: duplicati.service: Failed with result 'exit-code'.
Apr 12 14:38:19 raspberrypi systemd[1]: Failed to start Duplicati web-server.
It’s the right thing if you like it and don’t want to set up an allowed host name.
If you prefer using a host name, go the other way. It’s easier once you use IP.
Settings screen has an easier UI. Just type the name of the Duplicati system.
Then I guess neither of us know what they did. Do they provide their own support?
Do they have a name, forum, download URL, or web site that you are able to cite?
You posted that you were on 2.0.8.1, showing systemd failure which I wanted to look at.
Did you ever get journalctl from 2.0.8.1, or did you update to 2.1.0.5 to post that failure?
What you posted now (what is it from?) reminds me of a build problem that was fixed in
and I think Ubuntu Server 20.04 is based on an early version of Debian 10 a.k.a. Buster.
Embedding backwards compatible ARMv7 binaries in builds
was probably the Canary release, and that predates when Stable release began its work.
If you’re now testing 2.1.0.5 Stable, then the developer might have another issue to work.
Yes, the failure showing systemd occurred after upgrading to 2.1.0.5.Then I installed v2.0.9.107_canary_2024-09-11, but had the same error after booting.Ubuntu server 20.4 is debian11. I tried to upgrade the system to ubnutu server 22.04.5lts duplicati and it can start normally.
The fix then was to build SQLite against an older version of glibc, and then monkey patch the Armv7 package with this custom binary. It is not a great workaround, but we could do some of the same for the Arm64 packages.
Thanks for the summary.
It looks like anything on 20.04 (and older) will fail due to an older version of glibc.
I assume you are fine with using 22.04 ?
To summarize:
Duplicati will by default only listen to 127.0.0.1 (loopback adapter) to prevent LAN access
If you want LAN access, use --webservice-interface=any or check the box in the UI and restart Duplicati.
Duplicati will refuse any hostnames (but accept IP “hostname”) to guard against a DNS-based attack.
If you want to use a hostname, you must specify it, either with --webservice-allowed-hostnames= or using the UI. A restart is required for this change.