H
Homarr8h ago
Porter

Dash System Resources widget JSON issue

Hello, I have a Synology NAS with Homarr and dash both setup via docker. I have connected the dash integration with no issues. On my board if I add the System Health Monitoring widget it correctly loads information from dash I can see CPU, RAM, Storage. But if I try and use the System Resources widget I get an endless loading UI. Looking in the browser console at the network request, the request gives a 200 success, but looking at the response it shows a JSON parse error. The JSON it's self is valid, the issue is it seems to be returning multiple top level JSON objects
{"json":{"0":[[0],[null,0,0]]}}
{"json":[0,0,[[{"result":0}],["result",0,1]]]}
{"json":[1,0,[[{"data":0}],["data",0,2]]]}
{"json":[2,0,[[[{"integrationId":..........}
{"json":{"0":[[0],[null,0,0]]}}
{"json":[0,0,[[{"result":0}],["result",0,1]]]}
{"json":[1,0,[[{"data":0}],["data",0,2]]]}
{"json":[2,0,[[[{"integrationId":..........}
Error message: SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 2 column 1 of the JSON data Any ideas on how to resolve this? Synology NAS DS920+ OS DSM 7.2.2-72806 Update 4 Homarr v1.45.0 Configuration: docker-compose
Solution:
Thank you so much for your help! I've just enabled websockets on that reverse proxy rule and it's now loading
Jump to solution
19 Replies
Cakey Bot
Cakey Bot8h ago
Thank you for submitting a support request. Depending on the volume of requests, our team should get in contact with you shortly.
⚠️ Please include the following details in your post or we may reject your request without further comment: - Log (See https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log) - Operating system (Unraid, TrueNAS, Ubuntu, ...) - Exact Homarr version (eg. 0.15.0, not latest) - Configuration (eg. docker-compose, screenshot or similar. Use ``your-text`` to format) - Other relevant information (eg. your devices, your browser, ...)
Frequently Asked Questions | Homarr documentation
Can I install Homarr on a Raspberry Pi?
Manicraft1001
Manicraft10018h ago
!qa required_data
Cakey Bot
Cakey Bot8h ago
Thank you for your question. Our support team has noted that your request does not meet the minimum required data so we are unable to answer your question. Please provide: - your Homarr logs - your setup configuration (eg. docker compose, docker run, helm chart, screenshot, ...) - A detailed description of your problem or question with additional images where necessary - Your operating system - Version of Homarr (do not say latest! say 0.15.2, ...) Failure to comply with this will result in a permanent closure of your support request.
Porter
PorterOP8h ago
Homarr log
05/12/2025 12:21:50
2025-12-05T12:21:50.078Z info: tRPC request from unknown by user 'undefined (undefined)'
05/12/2025 12:21:50
2025-12-05T12:21:50.108Z error: tRPC Error with query on 'widget.healthMonitoring.getSystemHealthStatus'
05/12/2025 12:21:50
at Object.onError (/app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:3716)
05/12/2025 12:21:50
at Object.onError (/app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:584)
05/12/2025 12:21:50
at /app/apps/nextjs/.next/server/chunks/_6acd727f._.js:25:71439
05/12/2025 12:21:50
at async Promise.all (index 0)
05/12/2025 12:21:50
at async eC (/app/apps/nextjs/.next/server/chunks/_6acd727f._.js:29:2455)
05/12/2025 12:21:50
at async i (/app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:425)
05/12/2025 12:21:50
at async /app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:3512
05/12/2025 12:21:50
at async u2 (/app/apps/nextjs/.next/server/chunks/_fb8953b5._.js:406:35802)
05/12/2025 12:21:50
at async rM.do (/app/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js:5:20152)
05/12/2025 12:21:50
at async rM.handle (/app/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js:5:24898)
05/12/2025 12:22:31
28:M 05 Dec 2025 12:22:31.091 * 1 changes in 60 seconds. Saving...
05/12/2025 12:22:31
28:M 05 Dec 2025 12:22:31.092 * Background saving started by pid 102
05/12/2025 12:22:31
102:C 05 Dec 2025 12:22:31.611 * DB saved on disk
05/12/2025 12:21:50
2025-12-05T12:21:50.078Z info: tRPC request from unknown by user 'undefined (undefined)'
05/12/2025 12:21:50
2025-12-05T12:21:50.108Z error: tRPC Error with query on 'widget.healthMonitoring.getSystemHealthStatus'
05/12/2025 12:21:50
at Object.onError (/app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:3716)
05/12/2025 12:21:50
at Object.onError (/app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:584)
05/12/2025 12:21:50
at /app/apps/nextjs/.next/server/chunks/_6acd727f._.js:25:71439
05/12/2025 12:21:50
at async Promise.all (index 0)
05/12/2025 12:21:50
at async eC (/app/apps/nextjs/.next/server/chunks/_6acd727f._.js:29:2455)
05/12/2025 12:21:50
at async i (/app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:425)
05/12/2025 12:21:50
at async /app/apps/nextjs/.next/server/chunks/_aa0484a1._.js:1:3512
05/12/2025 12:21:50
at async u2 (/app/apps/nextjs/.next/server/chunks/_fb8953b5._.js:406:35802)
05/12/2025 12:21:50
at async rM.do (/app/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js:5:20152)
05/12/2025 12:21:50
at async rM.handle (/app/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js:5:24898)
05/12/2025 12:22:31
28:M 05 Dec 2025 12:22:31.091 * 1 changes in 60 seconds. Saving...
05/12/2025 12:22:31
28:M 05 Dec 2025 12:22:31.092 * Background saving started by pid 102
05/12/2025 12:22:31
102:C 05 Dec 2025 12:22:31.611 * DB saved on disk
docker compose:
version: "3.5"
services:
# dockerproxy - https://github.com/tecnativa/docker-socket-proxy
dockerproxy:
container_name: dockerproxy
image: ghcr.io/tecnativa/docker-socket-proxy:latest
restart: unless-stopped
logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE}
max-size: ${DOCKERLOGGING_MAXSIZE}
labels:
- org.hotio.pullio.update=${PULLIO_UPDATE}
- org.hotio.pullio.notify=${PULLIO_NOTIFY}
- org.hotio.pullio.discord.webhook=${PULLIO_DISCORD_WEBHOOK}
ports:
- 2375:2375
environment:
- CONTAINERS=1
- POST=1
- IMAGES=1
- INFO=1
- NETWORKS=1
- SERVICES=1
- TASKS=1
- VOLUMES=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock

# dash - https://github.com/MauriceNino/dashdot
dash:
container_name: dash
image: mauricenino/dashdot:latest
restart: unless-stopped
privileged: true
ports:
- '8010:3001'
environment:
- DASHDOT_OVERRIDE_OS=DSM
- DASHDOT_ENABLE_CPU_TEMPS=true
- DASHDOT_ALWAYS_SHOW_PERCENTAGES=true
- DASHDOT_SHOW_HOST=true
- DASHDOT_FS_DEVICE_FILTER=synoboot,sata1,sata2,sata3,sata4
- DASHDOT_FS_VIRTUAL_MOUNTS=/dev/mapper/cachedev_0
- DASHDOT_OVERRIDE_STORAGE_BRANDS=/dev/mapper/cachedev_0=Volume1
- DASHDOT_OVERRIDE_STORAGE_TYPES=/dev/mapper/cachedev_0=HDD
- DASHDOT_SHOW_DASH_VERSION=icon_hover
volumes:
- /:/mnt/host:ro
version: "3.5"
services:
# dockerproxy - https://github.com/tecnativa/docker-socket-proxy
dockerproxy:
container_name: dockerproxy
image: ghcr.io/tecnativa/docker-socket-proxy:latest
restart: unless-stopped
logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE}
max-size: ${DOCKERLOGGING_MAXSIZE}
labels:
- org.hotio.pullio.update=${PULLIO_UPDATE}
- org.hotio.pullio.notify=${PULLIO_NOTIFY}
- org.hotio.pullio.discord.webhook=${PULLIO_DISCORD_WEBHOOK}
ports:
- 2375:2375
environment:
- CONTAINERS=1
- POST=1
- IMAGES=1
- INFO=1
- NETWORKS=1
- SERVICES=1
- TASKS=1
- VOLUMES=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock

# dash - https://github.com/MauriceNino/dashdot
dash:
container_name: dash
image: mauricenino/dashdot:latest
restart: unless-stopped
privileged: true
ports:
- '8010:3001'
environment:
- DASHDOT_OVERRIDE_OS=DSM
- DASHDOT_ENABLE_CPU_TEMPS=true
- DASHDOT_ALWAYS_SHOW_PERCENTAGES=true
- DASHDOT_SHOW_HOST=true
- DASHDOT_FS_DEVICE_FILTER=synoboot,sata1,sata2,sata3,sata4
- DASHDOT_FS_VIRTUAL_MOUNTS=/dev/mapper/cachedev_0
- DASHDOT_OVERRIDE_STORAGE_BRANDS=/dev/mapper/cachedev_0=Volume1
- DASHDOT_OVERRIDE_STORAGE_TYPES=/dev/mapper/cachedev_0=HDD
- DASHDOT_SHOW_DASH_VERSION=icon_hover
volumes:
- /:/mnt/host:ro
# homarr - https://github.com/homarr-labs/homarr
# mkdir /volume1/docker/appdata/homarr
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
ports:
- 7575:7575
depends_on:
- dockerproxy
environment:
- DOCKER_HOST=tcp://dockerproxy:2375
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- SECRET_ENCRYPTION_KEY=${HOMARR_ENCRYPTION_KEY}
volumes:
- ${DOCKERCONFDIR}/homarr/appdata:/appdata

networks:
default:
name: main-network
driver: bridge
# homarr - https://github.com/homarr-labs/homarr
# mkdir /volume1/docker/appdata/homarr
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
ports:
- 7575:7575
depends_on:
- dockerproxy
environment:
- DOCKER_HOST=tcp://dockerproxy:2375
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- SECRET_ENCRYPTION_KEY=${HOMARR_ENCRYPTION_KEY}
volumes:
- ${DOCKERCONFDIR}/homarr/appdata:/appdata

networks:
default:
name: main-network
driver: bridge
Porter
PorterOP8h ago
Console log empty
No description
Manicraft1001
Manicraft10018h ago
1. Can you enable debug logging and repost your log? 2. Can you re-test your integration while debug is enabled?
Manicraft1001
Manicraft10018h ago
Environment variables | Homarr documentation
Homarr offers a Docker Container, which can be run on any compatible system, such as Unraid, Kubernetes and many more systems! Our Docker container is based on the 22.12.0-alpine image and serves per standard on the port 7575.
Porter
PorterOP8h ago
I'm not seeing that error in the log now, with debug on I'm just getting this over and over
05/12/2025 12:49:15
2025-12-05T12:49:15.052Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:15
2025-12-05T12:49:15.126Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 4 ms, callback took 89 ms)
05/12/2025 12:49:20
2025-12-05T12:49:20.035Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:20
2025-12-05T12:49:20.050Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:20
2025-12-05T12:49:20.122Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 4 ms, callback took 87 ms)
05/12/2025 12:49:25
2025-12-05T12:49:25.035Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:25
2025-12-05T12:49:25.052Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:25
2025-12-05T12:49:25.125Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 7 ms, callback took 90 ms)
05/12/2025 12:49:30
2025-12-05T12:49:30.137Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 5 ms, callback took 90 ms)
05/12/2025 12:49:35
2025-12-05T12:49:35.035Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:35
2025-12-05T12:49:35.049Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:35
2025-12-05T12:49:35.130Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 3 ms, callback took 94 ms)
05/12/2025 12:49:40
2025-12-05T12:49:40.034Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:15
2025-12-05T12:49:15.052Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:15
2025-12-05T12:49:15.126Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 4 ms, callback took 89 ms)
05/12/2025 12:49:20
2025-12-05T12:49:20.035Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:20
2025-12-05T12:49:20.050Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:20
2025-12-05T12:49:20.122Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 4 ms, callback took 87 ms)
05/12/2025 12:49:25
2025-12-05T12:49:25.035Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:25
2025-12-05T12:49:25.052Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:25
2025-12-05T12:49:25.125Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 7 ms, callback took 90 ms)
05/12/2025 12:49:30
2025-12-05T12:49:30.137Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 5 ms, callback took 90 ms)
05/12/2025 12:49:35
2025-12-05T12:49:35.035Z debug: The callback of 'healthMonitoring' cron job started
05/12/2025 12:49:35
2025-12-05T12:49:35.049Z debug: Found items for integration widgetKinds='healthMonitoring,systemResources' count=3
05/12/2025 12:49:35
2025-12-05T12:49:35.130Z debug: The callback of 'healthMonitoring' cron job succeeded (before callback took 3 ms, callback took 94 ms)
05/12/2025 12:49:40
2025-12-05T12:49:40.034Z debug: The callback of 'healthMonitoring' cron job started
Manicraft1001
Manicraft10017h ago
And does the widget now load? If not, can you try navigating to the board with the widget and hitting F5 and checking logs again?
Porter
PorterOP7h ago
Nope the widget still doesn't load and there are no errors in the log Just the JSON parse issue
No description
Manicraft1001
Manicraft10017h ago
If no errors in the log, I would assume that it works correctly You can ignore the red error in the inspector, we use tRPC which returns a non-standard JSON causing this error Do you use Homarr behind a reverse proxy or tunnel? Or have you disabled WebSockets in your browser?
Porter
PorterOP7h ago
Yes Homarr is behind a reverse proxy, it's calling dash on the local IP (that's not on the proxy) I've not disabled WebSockets as far as I know, I've tried in FireFox (main browser) and Chrome (default install, no addons or setting changes) it's the same in both The other widget does work though
No description
Manicraft1001
Manicraft10017h ago
What reverse proxy are you using? The System Resources does use WebSocket while the health monitoring does not need it (although it is semi-boken without it).
Porter
PorterOP7h ago
The one built into Synology OS
Manicraft1001
Manicraft10017h ago
And that is...?
Porter
PorterOP7h ago
Hmm I believe it's nginx under the hood
Solution
Porter
Porter7h ago
Thank you so much for your help! I've just enabled websockets on that reverse proxy rule and it's now loading
Manicraft1001
Manicraft10017h ago
Yes, that makes sense. Plase keep it enabled, it is crucial for Homarr as you noticed 🙂 Can I mark this as resolved?
Porter
PorterOP7h ago
Yes you can, thank you

Did you find this page helpful?