Duplicati stopped working

I had duplicati running as a container on my nas and it was working fine. I have watchtower updating the container regularly.

I went to check on it yesterday and it asked for a password, which I never set. I managed to set a password using the docker compose yaml, and then the logs complained that I didn’t have a settings encryption key so I put randomly generated string in and managed to get access again.

However my backup jobs seemed to be missing. My backups go to google drive, and I do see one on Jan 20th there.

I tried to just recreate the back up jobs but every 30-60 seconds or so I got a message saying “The connection to the server is lost, attempting again in 0:14 …” and refreshing would take me back to the start of the process so I couldn’t even create a job unless I somehow speed ran it.

I wiped my config file and decided to start again. However when I run the container I just get the “The connection to the server is lost, attempting again in 0:14 …” message constantly and can’t use duplicati at all.

I’m not sure what else to try. I’m running Debian (OpenMedia Vault actually) and portainer, and usually use nginx proxy manager to access my containers.

My docker stack is here:

version: "2.1"
services:
  duplicati:
    image: duplicati/duplicati:latest
    container_name: duplicati
    environment:
      - PUID=1005 # duplicati user
      - PGID=100
      - TZ=Europe/London
      - DUPLICATI__WEBSERVICE_PASSWORD=B [redacted] Z
      - SETTINGS_ENCRYPTION_KEY=lZq [redacted] tOJu
    volumes:
      - /docker-volumes/duplicati/config:/config
      - /docker-volumes:/docker-volumes
      - /var/lib/docker/volumes:/system-docker-volumes
      - /srv/dev-disk-by-uuid-509940ff-.../ [redacted]
    ports:
      - 8200:8200
    restart: unless-stopped

The container logs just have one line:

Server has started and is listening on port 8200

Hi @gazm2k5, welcome to the forum.

Yes, that is a new security feature. I know it is annoying, but it greatly enhances security for (almost) everyone.

The encryption key is a warning, but it does not prevent anything. Setting it will protect the credentials in case the database is leaked somehow.

That sounds like a mapping error. If the data folder (with Duplicati-server.sqlite) is stored outside of Docker, it should be a matter of pointing to that folder with an environment variable:

- DUPLICATI__SERVER_DATAFOLDER=/config/Duplicati

This update to Duplicati changed from Mono to .NET8, and looking at your config, it seems that the default folder may have changed between the two versions. My guess is that .NET4 resolved to /config/Duplicati as the default path, but .NET8 resolved to /data/Duplicati as the default data path.

You can fix this by forcing the datafolder path as shown above.

This could be caused by the nginx proxy. The new UI uses websockets, so you need to add proxy support to the config, something like:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;

You can check with the browser Dev Tools to see what errors you get when loading the page, that should make it easier to diagnose the problem.

Alternative: if you have any backup to Storj, this has been reported to hard-crash Duplicati inside the Docker container.