Duplicati container no longer works and mono has 100% CPU usage across multiple machines

I’ve been using duplicati for a couple years now in Docker containers without issue. I recently updated and restarted, and now I can’t get to the web interface and just get the standard can’t connect message of the web server. Inside the container I see that mono is using up 100% of the CPU. I tried starting a brand new instance of duplicati with blank folders and those also failed to start. I tried a different machine I have at work and that also failed to start using blank folders. I tried yet a third machine with blank folders and it started on that one, but when I go to the web interface I see the duplicati blue dialog box with “The connection to the server is lost” Eventually on that fresh instance mono settled down to 1% CPU usage but on my main machine with my existing duplicati folder it is still stuck at 100% cpu.

This is my “test” command that fails when starting with only a blank folder at /home/kata/duplicati. I don’t see any instructions how to debug the container but I am happy to provide more logs. The docker logs look fine to me.

docker run -d --runtime=runc --name=duplicati --restart=always -e TZ=America/Los_Angeles -v /home/kata/duplicati/backups:/backups -v /home/kata/duplicati/config:/config -v /home/kata/duplicati/source:/source -v /home/kata:/kata -e PUID=1000 -e PGID=1000 -p 8200:8200 linuxserver/duplicati

.$ docker logs duplicati
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing...
[cont-init.d] 30-config: exited 0.
[cont-init.d] 99-custom-scripts: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Here is the output using my test command on a system failing.

.$ docker exec -it duplicati ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.1  0.0    200     4 ?        Ss   08:52   0:00 s6-svscan -t0
root          32  0.0  0.0    200     4 ?        S    08:52   0:00 s6-supervise
root         240  0.0  0.0    200     4 ?        S    08:52   0:00 s6-supervise
abc          243  0.1  0.1 163304 41660 ?        Ssl  08:52   0:00 mono Duplicat
abc          260 99.8  0.0 151092 12520 ?        R    08:52   2:06 mono Duplicat
abc          270  100  0.0 163304 18220 ?        R    08:52   2:01 mono Duplicat
root         290  0.0  0.0  36072  3372 pts/0    Rs+  08:54   0:00 ps aux

Here is the output I see in my main server with my existing duplicati folder. This is the one I really want to get working.

.$ docker exec -it duplicati ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0    200     4 ?        Ss   08:50   0:00 s6-svscan -t0
root          31  0.0  0.0    200     4 ?        S    08:50   0:00 s6-supervise
root         239  0.0  0.0    200     4 ?        S    08:50   0:00 s6-supervise
abc          242  0.0  0.2 163276 39136 ?        Ssl  08:50   0:00 mono Duplicat
abc          260  100  0.7 1600700 125612 ?      Sl   08:50   7:16 /usr/bin/mono
abc          294 96.6  0.0 150936 10440 ?        R    08:57   0:13 /usr/bin/mono
root         315  0.0  0.0  36072  3196 pts/0    Rs+  08:57   0:00 ps aux

I should note that when I first start the container, mono looks like mono Duplicati.Server.exe --webservice-interface=any --server-datafolder=/config --webservice-allowed-hostnames=* but then after a few minutes just settles on /usr/bin/mono running at 100%

Edit: On a side note I discovered a bug in this discourse tool. If your comment starts with $ and you try to use the preformatted text brackets it won’t actually format any of the text into a monospace font. I put a period in front of it so it would format correctly.

OK Maybe I jumped the gun a little bit. After about 30 minutes of running I saw the ps drop to 70%. At that point the web interface came back but is still slow while a backup is running. I vaguely remember this happening to me a year ago. Suddenly, a day later when I checked everything was working fine.

I don’t know if there is a way to include the mono status in the logs or some way to state that the webserver might take a long time to start but if so that would be really helpful. You can close this thread.