Cannot see stats in dashboard in web version

Hey!
Basically I am running duplicacy using docker with this image: image: Package duplicacy · GitHub

Some time ago I noticed that I was no longer seeing stats in the dashboard:

I checked my logs and I did not see anything wrong here.

This is how I run it:

  duplicacy:
    <<: [*common-restart-policy]
    environment:
      <<: [*common-env-vars]
      PATH_TO_SCRIPTS: /personal-scripts
      PUSHOVER_BACKUPS_APP_TOKEN: ${PUSHOVER_BACKUPS_APP_TOKEN}
      PUSHOVER_USER_KEY: ${PUSHOVER_USER_KEY}
      PUSHOVER_API_URL: ${PUSHOVER_API_URL}
    container_name: duplicacy
    hostname: duplicacy
    image: ghcr.io/hotio/duplicacy:release-1.8.0
    ports:
      - '3875:3875'
    volumes:
      - ${ROOT_DIR}/${CONFIG_DIR}/duplicacy/cache:/cache
      - ${ROOT_DIR}/${CONFIG_DIR}/duplicacy/logs:/logs
      - ${ROOT_DIR}/${CONFIG_DIR}/duplicacy:/config
      - /media/rafapirotto/local:/local
      - ${ROOT_DIR}/${CONFIG_DIR}:/source
      - ${ROOT_DIR}/${HOME_LAB_DIR}/${SCRIPTS_DIR}:/personal-scripts:ro
    healthcheck:
      <<: [*healthcheck-vars]
      test: curl --fail http://localhost:3875 || exit 1
    labels:
      <<: [*restart-unhealthy]
      wud.tag.include: ^release-\d+\.\d+\.\d+$$

I know there is a similar post but I was not able to understand how to fix it.

These are some of my logs just in case:


 _           _   _       
| |__   ___ | |_(_) ___  
| '_ \ / _ \| __| |/ _ \ 
| | | | (_) | |_| | (_) |
|_| |_|\___/ \__|_|\___/ 
                         
Donate:        https://hotio.dev/donate
Documentation: https://hotio.dev/containers/duplicacy
Support:       https://hotio.dev/discord
Image:         hotio/duplicacy:release
Revision:      10b532e (behind, by 25)
Version:       1.8.0
OS:            Linux 6.2.0-34-generic x86_64

----------------------------------------------------------------------
ENVIRONMENT BASE
----------------------------------------------------------------------
PUID=1000
PGID=1000
UMASK=002
PRIVOXY_ENABLED=false
UNBOUND_ENABLED=false
VPN_ENABLED=false
----------------------------------------------------------------------

Executing usermod...
usermod: no changes
Applying permissions to /config
s6-rc: info: service init-setup successfully started
s6-rc: info: service init-setup-app: starting

----------------------------------------------------------------------
ENVIRONMENT APP
----------------------------------------------------------------------
WEBUI_PORTS=3875/tcp,3875/udp
----------------------------------------------------------------------

Applying permissions to /cache
Applying permissions to /logs
s6-rc: info: service init-setup-app successfully started
s6-rc: info: service init-wireguard: starting
s6-rc: info: service init-wireguard successfully started
s6-rc: info: service service-duplicacy: starting
s6-rc: info: service service-duplicacy successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Log directory set to /logs
Duplicacy Web Edition 1.8.0 (redacted)
Starting the web server at http://[::]:3875

Thanks!

Is “check” scheduled to run periodically?

Yes! I have a schedule routine that after back up it does the check

Hmm. See if there is a stats folder under ${ROOT_DIR}/${CONFIG_DIR}/duplicacy, or under any other shade (I’m not sure where does that container keep stuff) and if that location is writable by duplciacy, and/or contains stats files. You can also review duplicacy_web.log for any failures related to log creation.

Hey!

I see a stats folder under that location and I believe it is writable, here is what I did:

/config # cd stats
/config/stats # ls -ld .
drwx------ 4 hotio hotio 4096 Dec 31  2023 .
/config/stats # touch testfile && echo "ok" > testfile && cat testfile && rm testfile
ok
/config/stats # 

Also, these are the stats files:

Finally, I reviewed the duplicacy_web.log and I see a bunch of these:

GET / administration token not provided

And after some digging I also found this:

2025/10/20 23:34:39 Failed to parse the stat file for storage 'local': unexpected end of JSON input
2025/10/20 23:34:39 Failed to parse the stat file for storage 'google-drive-2': unexpected end of JSON input
2025/10/20 23:34:39 Failed to parse the stats file /app/.duplicacy-web/stats/schedules/Daily.stats: unexpected end of JSON input
2025/10/20 23:34:39 192.168.13.5:42104 GET /assets/css/bootstrap.min.css

Are those stat files empty? Malformed?

@gchen

They are both empty!

Maybe deleting them can solve the issue?

It will not solve the issue - as the root cause of why are they getting corrupted is yet to be determined. But it may unblock it and it will probably work again for a while.

The suspicion is that concurrent stat file update may be happening without proper synchronization, so if you are runing concurrent operatiosn – making them sequential may help. But we need @gchen to comment.

Everything is and has always been sequential


I will try to delete the files and try again

If you have 0-byte files in stats/storages or stats/schedules, those will need to be deleted. I’ve seen this issue a couple times and such files cause a blockage in the processing of stats, until they’re removed.

@gchen Is there anything that can be done about this behaviour?

I deleted them and now the stats are working again!

I’m not sure how those stats files became empty. But one improvement I can do is to ignore this error and update the files anyway.

1 Like