mauricenino / dashdot Goto Github PK
View Code? Open in Web Editor NEWA simple, modern server dashboard, primarily used by smaller private servers
Home Page: https://getdashdot.com/
License: MIT License
A simple, modern server dashboard, primarily used by smaller private servers
Home Page: https://getdashdot.com/
License: MIT License
Running this on Pi4
Built an image for arm64
docker build -t justsky/dashdot .
https://hub.docker.com/r/justsky/dashdot
Compose
version: "3"
services:
dashdot:
container_name: dashdot
image: justsky/dashdot
ports:
- 4002:3001
Log
today at 3:21:49 PMyarn run v1.22.17
today at 3:21:49 PM$ (cd ./backend && yarn start)
today at 3:21:51 PM$ node .
today at 3:21:52 PMlistening on *:3001
today at 3:22:01 PMStatic Server Info Gathered: {
today at 3:22:01 PM os: {
today at 3:22:01 PM arch: 'arm64',
today at 3:22:01 PM distro: 'Alpine Linux',
today at 3:22:01 PM kernel: '5.10.92-v8+',
today at 3:22:01 PM platform: 'linux',
today at 3:22:01 PM release: '3.15.0'
today at 3:22:01 PM },
today at 3:22:01 PM cpu: {
today at 3:22:01 PM manufacturer: 'Cortex-A72',
today at 3:22:01 PM brand: '',
today at 3:22:01 PM speed: 1.6,
today at 3:22:01 PM cores: 4,
today at 3:22:01 PM threads: 4
today at 3:22:01 PM },
today at 3:22:01 PM ram: { total: 8004149248, layout: [ [Object] ] },
today at 3:22:01 PM storage: { layout: [] }
today at 3:22:01 PM}
I have 240GB ssd and 1TB hard disk, its not displaying storage info correctly
I get this error on a Raspberry Pi 4 with Ubuntu server 64bit. It comes after the speed test. It does not happen when building from source, only docker/docker-compose.
I just ran the docker command on the main GitHub page, as is.
The docs page needs a search bar. There are offline ones, which could work temporarily, but ultimately the standard is Algolia: https://docusaurus.io/docs/search
No response
This issue provides visibility into Renovate updates and their statuses. Learn more
This repository currently has no open or pending branches.
docker-compose.yml
node 18-alpine
node 18-alpine
Dockerfile
node 18-alpine
backend/Dockerfile.dev
node 18-alpine
.drone.yml
node lts-alpine
node lts-alpine
crazymax/docker latest
docker/compose undefined
crazymax/docker latest
docker/compose undefined
backend/package.json
cors 2.8.5
dashdot-shared 1.0.0
express 4.18.1
rxjs 7.5.5
socket.io 4.5.1
systeminformation 5.11.15
universal-speedtest 2.0.5
@types/cors 2.8.12
@types/express 4.17.13
@types/node 17.0.35
nodemon 2.0.16
ts-node 10.8.0
typescript 4.7.2
frontend/package.json
@fortawesome/fontawesome-svg-core 6.1.1
@fortawesome/free-brands-svg-icons 6.1.1
@fortawesome/free-solid-svg-icons 6.1.1
@fortawesome/react-fontawesome 0.1.18
@nivo/core 0.79.0
@nivo/line 0.79.1
@nivo/pie 0.79.1
@testing-library/jest-dom 5.16.4
@testing-library/react 13.2.0
@testing-library/user-event 14.2.0
antd 4.20.6
axios 0.27.2
dashdot-shared 1.0.0
react 18.1.0
react-content-loader 6.2.0
react-dom 18.1.0
react-parallax-tilt 1.7.36
react-scripts 5.0.1
react-spinners-kit 1.9.1
sass 1.52.1
socket.io-client 4.5.1
store 2.0.12
styled-components 5.3.5
typescript 4.7.2
use-color-scheme 1.1.3
web-vitals 2.1.4
@types/jest 27.5.1
@types/node 17.0.35
@types/react 18.0.9
@types/react-dom 18.0.5
@types/store 2.0.2
@types/styled-components 5.1.25
package.json
@types/node 17.0.35
prettier 2.6.2
typescript 4.7.2
yarn 3.2.1
shared/package.json
typescript 4.7.2
After setting up your docker-compose.yml file, you have to run the following command to start the dashboard:
DEFAULT_INTERFACE_PATH=$(readlink -f /sys/class/net/$(ip addr show | awk '/inet.*brd/{print $NF; exit}')) docker-compose up
This command is producing this error:
**ERROR**: Volume /sys/devices/pci0000:00/0000:00:03.0/virtio0/net/eth0:/mnt/eth0 has incorrect format, should be external:internal[:mode]
Set up the docker-compose file and run the given command.
`ERROR: Volume /sys/devices/pci0000:00/0000:00:03.0/virtio0/net/eth0:/mnt/eth0 has incorrect format, should be external:internal[:mode]`
No response
Linux Server
It's running on a root server
All labels should be configurable & be optionally enabled/disabled, as well as change the order of them.
This could be done similarly to DASHDOT_WIDGET_ORDER
.
It picks up on all of my drives and the total space of all of them but shows that the space is completely free with nothing being used on the graph.
-Fresh install on unraid (6.10.1) from the apps tab
override: {
os: undefined,
arch: undefined,
cpu_brand: undefined,
cpu_model: undefined,
cpu_cores: undefined,
cpu_threads: undefined,
cpu_frequency: undefined,
ram_brand: undefined,
ram_size: undefined,
ram_type: undefined,
ram_frequency: undefined,
storage_brand_1: undefined,
storage_size_1: undefined,
storage_type_1: undefined,
storage_brand_2: undefined,
storage_size_2: undefined,
storage_type_2: undefined,
storage_brand_3: undefined,
storage_size_3: undefined,
storage_type_3: undefined,
storage_brand_4: undefined,
storage_size_4: undefined,
storage_type_4: undefined,
storage_brand_5: undefined,
storage_size_5: undefined,
storage_type_5: undefined
}
}
}
Chrome
No response
Widgets can be disabled, so it makes no sense to poll the information for those.
No response
The multicore view is kind of cramped - it would probably look better if it was a graph per core, kind of like in windows task manager
Related to #40 which is now closed but still affecting me.
I'm in a similar boat, two RAID 1 drive sets reporting as 4 drives. RAID 1 mirrors each drive so the total storage capacity would be halved.
I think from a UX perspective you could end up with something nice like
RAID Set 1 - Samsung SSD, Samsung SSD (953.9 GB)
RAID Set 2 - Samsung NVMe, Samsung NVMe (953.9 GB)
Happy to help debug/test some stuff to get a good implementation if you are up for it.
No response
Something fishy is happening with the UI.
The button/switch to show all cores and the button/switch for dark mode is overlapping and not in the correct spot.
No response
No response
Firefox
Other (Please specify below)
UnRaid Sever
Just pulled the latest image with the Eula change on speedest and noticed that the Storage Part is not showing correctly now
No response
No response
No response
Safari
Raspberry Pi
No response
Right now, to make the network stats to work, you have to do one of the following:
--network host
), which has some negative effects and makes it harder to manageBoth of them are not optimal, so I would really like a way to do it, that is officially supported by docker and does not result in basic networking stopping to work.
StackOverflow has not helped so far, but here is a post in case you want to give it a bounty or something: https://stackoverflow.com/q/72380594/9150652
Describe the solution you'd like
Temperature showing up as a field in the CPU card, or in the graph on hover
Additional context
Original:
after getting dashdot with the newest image to work, I've noticed that CPU temperature isn't monitored, would be quite cool to see this feature in the future.
Feature request: GPU Monitoring
Let me know how hard my GPU is working.
Hello again,
I wanted to report that dashdot is unable to show my free storage space in the pie chart. I have this issue since I started using dashdot, so it wasn't introduced with the last updates.
Image of the issue:
https://abload.de/img/storage_dashdotjsj1m.png
Im starting dashdot with:
docker container run -d -it
-p 3001:3001
-v /etc/os-release:/etc/os-release:ro
-v /proc/1/ns/net:/mnt/host_ns_net:ro
--privileged
--env DASHDOT_OVERRIDE_STORAGE_SIZE_1="137438953472"
--env DASHDOT_OVERRIDE_STORAGE_BRAND_1="SanDisk"
--env DASHDOT_OVERRIDE_STORAGE_TYPE_1="MicroSD"
--env DASHDOT_OVERRIDE_RAM_TYPE="DDR4"
--env DASHDOT_OVERRIDE_RAM_FREQUENCY="2133"
--env DASHDOT_OVERRIDE_CPU_BRAND="ARM"
--env DASHDOT_OVERRIDE_CPU_MODEL="S922X"
--env DASHDOT_OVERRIDE_OS="armbian"
--env DASHDOT_OVERRIDE_RAM_BRAND="Hardkernel"
--env DASHDOT_ENABLE_CPU_TEMPS="true"
--env DASHDOT_NETWORK_WIDGET_ENABLE="false"
--name dashdot
mauricenino/dashdot
No response
Chrome
Other (Please specify below)
Odroid N2+
I would like to increase the updating frequency of the statistics on the dashboard. If I'm not mistaken, it's around 1 second, which feels very choppy and slow.
No response
It would be cool to see the percentage used of each drive. Either by hovering or having a data point like the processor percentage.
This could also be shown by having a toggle like the processor for each core, but for each drive.
No response
I am running dash. on Synology NAS / docker / latest.
Dash. things one ram stick is a hard drive. See the below picture - Drive 9 is not a actual drive in the NAS and the system has 32 GB ram installed.
No response
mauricenino-dashdot
date stream content
2022-05-25T12:02:50.434094449Z stdout }
2022-05-25T12:02:50.434073909Z stdout }
2022-05-25T12:02:50.434053439Z stdout }
2022-05-25T12:02:50.434030449Z stdout storage_type_5: �[90mundefined�[39m
2022-05-25T12:02:50.434006359Z stdout storage_size_5: �[90mundefined�[39m,
2022-05-25T12:02:50.433981189Z stdout storage_brand_5: �[90mundefined�[39m,
2022-05-25T12:02:50.433957558Z stdout storage_type_4: �[90mundefined�[39m,
2022-05-25T12:02:50.433934538Z stdout storage_size_4: �[90mundefined�[39m,
2022-05-25T12:02:50.433910828Z stdout storage_brand_4: �[90mundefined�[39m,
2022-05-25T12:02:50.433888338Z stdout storage_type_3: �[90mundefined�[39m,
2022-05-25T12:02:50.433865108Z stdout storage_size_3: �[90mundefined�[39m,
2022-05-25T12:02:50.433840998Z stdout storage_brand_3: �[90mundefined�[39m,
2022-05-25T12:02:50.433816278Z stdout storage_type_2: �[90mundefined�[39m,
2022-05-25T12:02:50.433792288Z stdout storage_size_2: �[90mundefined�[39m,
2022-05-25T12:02:50.433768258Z stdout storage_brand_2: �[90mundefined�[39m,
2022-05-25T12:02:50.433744988Z stdout storage_type_1: �[90mundefined�[39m,
2022-05-25T12:02:50.433719768Z stdout storage_size_1: �[90mundefined�[39m,
2022-05-25T12:02:50.433685117Z stdout storage_brand_1: �[90mundefined�[39m,
2022-05-25T12:02:50.433642257Z stdout ram_frequency: �[90mundefined�[39m,
2022-05-25T12:02:50.433606807Z stdout ram_type: �[90mundefined�[39m,
2022-05-25T12:02:50.433572757Z stdout ram_size: �[90mundefined�[39m,
2022-05-25T12:02:50.433540547Z stdout ram_brand: �[90mundefined�[39m,
2022-05-25T12:02:50.433514087Z stdout cpu_frequency: �[90mundefined�[39m,
2022-05-25T12:02:50.433479507Z stdout cpu_threads: �[90mundefined�[39m,
2022-05-25T12:02:50.433438297Z stdout cpu_cores: �[90mundefined�[39m,
2022-05-25T12:02:50.433414547Z stdout cpu_model: �[90mundefined�[39m,
2022-05-25T12:02:50.433390606Z stdout cpu_brand: �[90mundefined�[39m,
2022-05-25T12:02:50.433367136Z stdout arch: �[90mundefined�[39m,
2022-05-25T12:02:50.433343006Z stdout os: �[90mundefined�[39m,
2022-05-25T12:02:50.433320476Z stdout override: {
2022-05-25T12:02:50.433296736Z stdout storage_poll_interval: �[33m60000�[39m,
2022-05-25T12:02:50.433271176Z stdout storage_widget_grow: �[33m1.5�[39m,
2022-05-25T12:02:50.433247216Z stdout storage_widget_enable: �[33mtrue�[39m,
2022-05-25T12:02:50.433223016Z stdout ram_poll_interval: �[33m1000�[39m,
2022-05-25T12:02:50.433199766Z stdout ram_shown_datapoints: �[33m20�[39m,
2022-05-25T12:02:50.433173156Z stdout ram_widget_grow: �[33m1.5�[39m,
2022-05-25T12:02:50.433147236Z stdout ram_widget_enable: �[33mtrue�[39m,
2022-05-25T12:02:50.433122976Z stdout cpu_poll_interval: �[33m1000�[39m,
2022-05-25T12:02:50.433098035Z stdout cpu_shown_datapoints: �[33m20�[39m,
2022-05-25T12:02:50.433073795Z stdout cpu_widget_grow: �[33m2�[39m,
2022-05-25T12:02:50.433049655Z stdout cpu_widget_enable: �[33mtrue�[39m,
2022-05-25T12:02:50.433025725Z stdout enable_cpu_temps: �[33mfalse�[39m,
2022-05-25T12:02:50.432998905Z stdout os_widget_grow: �[33m1�[39m,
2022-05-25T12:02:50.432974985Z stdout os_widget_enable: �[33mtrue�[39m,
2022-05-25T12:02:50.432950425Z stdout disable_host: �[33mfalse�[39m,
2022-05-25T12:02:50.432923285Z stdout widget_order: �[32m'os,cpu,ram,storage'�[39m,
2022-05-25T12:02:50.432898555Z stdout enable_tilt: �[33mtrue�[39m,
2022-05-25T12:02:50.432873765Z stdout port: �[33m3001�[39m,
2022-05-25T12:02:50.432850815Z stdout config: {
2022-05-25T12:02:50.432826845Z stdout },
2022-05-25T12:02:50.432804834Z stdout ]
2022-05-25T12:02:50.432776784Z stdout { brand: �[32m'Samsung'�[39m, size: �[33m256060514304�[39m, type: �[32m'NVMe'�[39m }
2022-05-25T12:02:50.432746184Z stdout { brand: �[32m'Samsung'�[39m, size: �[33m256060514304�[39m, type: �[32m'NVMe'�[39m },
2022-05-25T12:02:50.432712984Z stdout { brand: �[32m'Synology'�[39m, size: �[33m125829120�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432684194Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432651984Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432623214Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432593074Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432563644Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432525844Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432409133Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432375873Z stdout { brand: �[32m'Western Digital'�[39m, size: �[33m12000138625024�[39m, type: �[32m'HD'�[39m },
2022-05-25T12:02:50.432353373Z stdout layout: [
2022-05-25T12:02:50.432329873Z stdout storage: {
2022-05-25T12:02:50.432307523Z stdout },
2022-05-25T12:02:50.432284513Z stdout ]
2022-05-25T12:02:50.432255073Z stdout { brand: �[32m'066D'�[39m, type: �[32m'DDR4'�[39m, frequency: �[33m2667�[39m }
2022-05-25T12:02:50.432210182Z stdout { brand: �[32m'066D'�[39m, type: �[32m'DDR4'�[39m, frequency: �[33m2667�[39m },
2022-05-25T12:02:50.432182102Z stdout layout: [
2022-05-25T12:02:50.432153772Z stdout size: �[33m16744218624�[39m,
2022-05-25T12:02:50.432122092Z stdout ram: {
2022-05-25T12:02:50.432100462Z stdout },
2022-05-25T12:02:50.432071092Z stdout frequency: �[33m2.2�[39m
2022-05-25T12:02:50.432045172Z stdout threads: �[33m8�[39m,
2022-05-25T12:02:50.432020412Z stdout cores: �[33m4�[39m,
2022-05-25T12:02:50.431991892Z stdout model: �[32m'Ryzen Embedded V1500B'�[39m,
2022-05-25T12:02:50.431965912Z stdout brand: �[32m'AMD'�[39m,
2022-05-25T12:02:50.431943982Z stdout cpu: {
2022-05-25T12:02:50.431922621Z stdout },
2022-05-25T12:02:50.431896111Z stdout uptime: �[33m851860.51�[39m
2022-05-25T12:02:50.431869371Z stdout release: �[32m'3.15.4'�[39m,
2022-05-25T12:02:50.431842521Z stdout platform: �[32m'linux'�[39m,
2022-05-25T12:02:50.431813331Z stdout kernel: �[32m'4.4.180+'�[39m,
2022-05-25T12:02:50.431781541Z stdout distro: �[32m'Alpine Linux'�[39m,
2022-05-25T12:02:50.431749171Z stdout arch: �[32m'x64'�[39m,
2022-05-25T12:02:50.431713621Z stdout os: {
2022-05-25T12:02:50.431590920Z stdout Static Server Info: {
2022-05-25T12:02:50.383892266Z stdout ]
2022-05-25T12:02:50.383863826Z stdout { load: �[33m4.1644870393411555�[39m, temp: �[90mundefined�[39m, core: �[33m7�[39m }
2022-05-25T12:02:50.383830736Z stdout { load: �[33m5.531535277596532�[39m, temp: �[90mundefined�[39m, core: �[33m6�[39m },
2022-05-25T12:02:50.383803516Z stdout { load: �[33m3.705572128260539�[39m, temp: �[90mundefined�[39m, core: �[33m5�[39m },
2022-05-25T12:02:50.383774776Z stdout { load: �[33m6.255146946660238�[39m, temp: �[90mundefined�[39m, core: �[33m4�[39m },
2022-05-25T12:02:50.383743636Z stdout { load: �[33m3.7919664312926287�[39m, temp: �[90mundefined�[39m, core: �[33m3�[39m },
2022-05-25T12:02:50.383712626Z stdout { load: �[33m5.312969889682065�[39m, temp: �[90mundefined�[39m, core: �[33m2�[39m },
2022-05-25T12:02:50.383678026Z stdout { load: �[33m3.7470099824611816�[39m, temp: �[90mundefined�[39m, core: �[33m1�[39m },
2022-05-25T12:02:50.383630505Z stdout { load: �[33m5.391728692593115�[39m, temp: �[90mundefined�[39m, core: �[33m0�[39m },
2022-05-25T12:02:50.383512715Z stdout First measurement [CPU]: [
2022-05-25T12:02:50.009278329Z stdout hostname: mauricenino-dashdot: Host not found
2022-05-25T12:02:49.910951460Z stdout hostname: mauricenino-dashdot: Host not found
2022-05-25T12:02:48.005273769Z stdout hostname: mauricenino-dashdot: Host not found
2022-05-25T12:02:47.005122760Z stdout hostname: mauricenino-dashdot: Host not found
2022-05-25T12:02:46.006257316Z stdout hostname: mauricenino-dashdot: Host not found
2022-05-25T12:02:45.297095868Z stdout First measurement [RAM]: �[33m1814695936�[39m
2022-05-25T12:02:45.276565518Z stdout First measurement [Storage]: �[33m34271720112128�[39m
2022-05-25T12:02:45.206320606Z stdout hostname: mauricenino-dashdot: Host not found
2022-05-25T12:02:45.198908671Z stdout listening on *:3001
2022-05-25T12:02:45.176273443Z stdout hostname: mauricenino-dashdot: Host not found
Firefox
Other (Please specify below)
Synology docker.
Dash. handles a lot of the overhead when querying system information through docker and displays all that in some charts. Other projects (like https://github.com/ajnart/homarr/) may want to simply include those, instead of going through the hassle of re-implementing everything.
Dashdot shows my drives instead of partitions.
Example: stats.jaapvd.nl
Is your feature request related to a problem? Please describe.
Currently, you can only view the stats of the current server where the service (docker in my case) is installed and running.
Describe the solution you'd like
I think that allowing to manage the stats of more thatn a single server, from a single instance, would be a huge improvement.
These are my ideas:
A. Allow to register other Dash. instances inside the current one. So, you can jump from one server to the other.
B. Create a separate service to allow managing different Dash. instances, all from a single place.
I think, the 'B' would be better, as you will only need to install only one copy. Then you add the rest of the Dash. running services inside it. Like, a Dashboard to manage and view other Dashboards.
Also, it would show a reduced version of every running Dash. instance, I mean, only showing very basic information from every server, so you can click on them to access every full Dash. dashboard.
Maybe calling them as:
Thank you.
Raspberry Pi4 with attached Samsung 512GB SSD and a HW RAID (4x8TB) not showing used space
Another Pi4 with the same Samsung 512GB SSD shows valid data
No response
No response
Safari
Raspberry Pi
No response
Hey,
I'm trying to set up dashdot using Docker Compose on my server.
For some reason, dashdot looks for a network interface named enp0s31f6\nwlan0
with a line break that shouldn't be there and crashes after it attempts to retrieve information about it from the system.
version: '3.5'
services:
dash:
image: mauricenino/dashdot:latest
restart: unless-stopped
privileged: true
ports:
- '3001:3001'
volumes:
- /etc/os-release:/etc/os-release:ro
- /proc/1/ns/net:/mnt/host_ns_net:ro
- /export:/mnt/host_media:ro
- /mnt:/mnt/host_mnt:ro
environment:
DASHDOT_ENABLE_CPU_TEMPS: "true"
listening on *:3001
Using network interface "enp0s31f6
wlan0"
node:internal/errors:845
const err = new Error(message);
^
Error: Command failed: cat /internal_mnt/host_sys/class/net/enp0s31f6
wlan0/speed
cat: read error: Is a directory
/bin/sh: wlan0/speed: not found
at ChildProcess.exithandler (node:child_process:387:12)
at ChildProcess.emit (node:events:527:28)
at maybeClose (node:internal/child_process:1090:16)
at Socket.<anonymous> (node:internal/child_process:449:11)
at Socket.emit (node:events:527:28)
at Pipe.<anonymous> (node:net:740:14) {
�
code: 127,
killed: false,
signal: null,
cmd: 'cat /internal_mnt/host_sys/class/net/enp0s31f6\nwlan0/speed',
stdout: '',
stderr: 'cat: read error: Is a directory\n/bin/sh: wlan0/speed: not found\n'
}
Node.js v18.3.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
yarn run v1.22.19
$ node .
(node:28) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
yarn run v1.22.19
$ node dist/apps/cli/main.js info
INFO
=========
Yarn: 1.22.19
Node: v18.3.0
Dash: 3.3.3
Cwd: /app
Hash: fe040a86f58934194d1f33793fb14b84896ff737
In Docker: true
In Podman: false
Done in 0.41s.
Chrome
Linux Server
Here's the output of ifconfig
as it probably is relevant (unrelated virtual network devices omitted):
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.178.74 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fe80::66a5:b53d:d810:f60 prefixlen 64 scopeid 0x20<link>
ether 00:01:2e:81:dc:45 txqueuelen 1000 (Ethernet)
RX packets 473465317 bytes 676790155893 (630.3 GiB)
RX errors 0 dropped 434284 overruns 0 frame 0
TX packets 128253829 bytes 55531476452 (51.7 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdc300000-dc320000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 8241329 bytes 13071192069 (12.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8241329 bytes 13071192069 (12.1 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.178.81 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fe80::24b2:bd0a:6d8c:f8 prefixlen 64 scopeid 0x20<link>
ether 44:03:2c:93:29:57 txqueuelen 1000 (Ethernet)
RX packets 897139 bytes 115915057 (110.5 MiB)
RX errors 0 dropped 432383 overruns 0 frame 0
TX packets 26550 bytes 3420898 (3.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
dash. is showing the wrong used storage in the dashboard.
df output shows the right used storage
it should be more like this, so a lot more than 2.5tb...
my docker compose volumes:
volumes:
- /etc/os-release:/etc/os-release:ro
- /proc/1/ns/net:/mnt/host_ns_net:ro
- /media:/mnt/host_media:ro
- /storage:/mnt/host_storage
- /storage/torrents:/mnt/host_torrents
- /mnt:/mnt/host_mnt:ro
-
No response
No response
No response
Linux Server
No response
Nice feature would be a netgraph, showing the incoming and outcoming amount of traffic
Drive information is gathered using df
, which returns only the root drive /
inside the docker container, while it returns all drives on the host.
This should not be the case, because with --privileged
, all devices should be available inside the container.
BUT - the device is actually mounted, which can be seen when using ls -la /dev
Connect to the docker container and run df
:
docker container exec -it CONTAINER_NAME /bin/sh -c "df"
And check that it is mounted with:
docker container exec -it CONTAINER_NAME /bin/sh -c "ls -la /dev/DRIVE_NAME"
I have opened a StackOverflow question with a bounty: https://stackoverflow.com/q/72517164/9150652
I think it would be useful to monitor containers (dockers).
Hey there,
As I've noticed after setting up this dashboard, when I added 3 drives to my server, they showed up outside of the border of the 'panel'.
Here is a screenshot with the problem: https://prnt.sc/g7vnwKuHeooq.
I hope this problem can be fixed. As I don't know any solution, I didn't make a PR.
Also some other minor details are that the CPU threads show up as cores. On my 2700X it shows to have 16 cores whilst it has 8 cores with Hyperthreading/SMT.
Cheers!
If I remember correctly in an earlier release the temp was displayed, but its not working with the latest image on RPI4
No response
No response
Safari
Raspberry Pi
No response
As far as I can tell, it only shows 1 interface currently.
I'd like to view more or at least an option to select which one to show.
As for now it defaults to my 10G NIC which is internal link with another server.
No response
Nivo should be completely removed from the project, due to the following issues:
Is your feature request related to a problem? Please describe.
The reported disk usage is simply a sum of all disks on the system, not real storage.
Describe the solution you'd like
Storage should monitor a configurable list of volumes, not just block devices.
Additional context
For example, I have a test server that has two 240 GB SSDs and two 480GB HDDs. Dashdot reports this as 1.4TB of storage with some tiny sliver as "used." However, those two HDDs and one of the SSDs are in a ZFS pool together. So the actual state of storage on the server is one 240GB volume with 5% used and one 480GB volume with 33% used.
root@test:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 465.8G 0 part
└─sda9 8:9 0 8M 0 part
sdb 8:16 0 238.5G 0 disk
└─sdb1 8:17 0 238.5G 0 part /
sdc 8:32 0 238.5G 0 disk
├─sdc1 8:33 0 238.5G 0 part
└─sdc9 8:41 0 8M 0 part
sdd 8:48 0 465.8G 0 disk
├─sdd1 8:49 0 465.8G 0 part
└─sdd9 8:57 0 8M 0 part
root@test:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 234G 9.7G 213G 5% /
root@test:~# zpool status
pool: tank
state: ONLINE
scan: scrub repaired 0B in 00:42:24 with 0 errors on Sun May 8 01:06:25 2022
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-WDC_WD5002ABYS-02B1B0_WD-WCASYA237797 ONLINE 0 0 0
ata-WDC_WD5003ABYX-01WERA2_WD-WMAYP6798572 ONLINE 0 0 0
cache
ata-Samsung_SSD_840_PRO_Series_S12RNEACC87965T ONLINE 0 0 0
errors: No known data errors
root@test:~# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 464G 156G 308G - - 17% 33% 1.00x ONLINE -
One example is the CPU widget:
Label: Brand
Property: props.manufacturer
Label: Model
Property: props.brand
I would like to keep it more consistent in the frontend and do all the mapping in the backend already.
Seems like the styles are loaded only after the page, and while they are not loaded, the page shows a white page.
Go to: https://getdashdot.com
The bug is more noticeable on a fresh load, instead of a reload.
Use yarn nodeLinker pnp instead of node-modules for faster CI and development.
Blocked by #65
Describe the solution you'd like
Better documentation of when to use which variables, and how they translate in the frontend.
Additional context
Original (from #36) by @heyiamsven:
For me it is (specially as Docker beginner) a little bit hard to understand how I can change the variables/configuration of dashdot in general. [...] It is also a little bit unclear to me in which order of magnitude I have to write the number of the storage size with DASHDOT_OVERRIDE_STORAGE_SIZE_[1-5] out .. Does dashdot accept just i.e. 128gb as value or do I have to write it out in megabyte/kilobyte/etc..?
https://raw.githubusercontent.com/xavier-hernandez/goaccess-for-nginxproxymanager/main/.github/workflows/docker-build.yml
https://raw.githubusercontent.com/Just5KY/honeypots/latest/.github/workflows/docker.yml
Pretty much all is there, you just need to cofigure it for your repo.
and add the secrets
Hey,
I'm trying to run dashdot with docker on my Odroid N2+ running Armbian. I've tried this command:
docker container run -it
-p 80:3001
--privileged
--name dashdot
mauricenino/dashdot
However if I visit the dashdot overview page it's in a completely blank state. If I inspect the webpage it spits out those errors:
TypeError: Cannot read properties of undefined (reading 'brand')
at Qn (storage.tsx:45:64)
at ia (react-dom.production.min.js:157:137)
at Vc (react-dom.production.min.js:267:460)
at zu (react-dom.production.min.js:250:347)
at ju (react-dom.production.min.js:250:278)
at ku (react-dom.production.min.js:250:138)
at mu (react-dom.production.min.js:243:163)
at react-dom.production.min.js:123:115
at t.unstable_runWithPriority (scheduler.production.min.js:18:343)
at qi (react-dom.production.min.js:122:325)
cc @ react-dom.production.min.js:216
DevTools failed to load source map: Could not load content for chrome-extension://dndehlekllfkaijdlokmmicgnlanfjbi/common/lib/browser-polyfill.js.map: System error: net::ERR_BLOCKED_BY_CLIENT
Log (from executing docker run):
yarn run v1.22.18
$ (cd ./backend && yarn start)
$ node .
listening on *:3001
Static Server Info: {
os: {
arch: 'arm64',
distro: 'Alpine Linux',
kernel: '5.10.103-meson64',
platform: 'linux',
release: '3.15.4',
uptime: 97630.84
},
cpu: {
brand: 'Cortex-A53',
model: '',
cores: 6,
threads: 6,
frequency: 2.27
},
ram: {
size: 3967762432,
layout: [ { brand: undefined, type: '', frequency: 0 } ]
},
storage: { layout: [] },
config: {
port: 3001,
disable_tilt: false,
disable_host: false,
os_widget_enable: true,
os_widget_grow: 1,
cpu_widget_enable: true,
cpu_widget_grow: 2,
cpu_shown_datapoints: 20,
cpu_poll_interval: 1000,
ram_widget_enable: true,
ram_widget_grow: 1.5,
ram_shown_datapoints: 20,
ram_poll_interval: 1000,
storage_widget_enable: true,
storage_widget_grow: 1.5,
storage_poll_interval: 60000,
override: {
os: undefined,
arch: undefined,
cpu_brand: undefined,
cpu_model: undefined,
cpu_cores: undefined,
cpu_threads: undefined,
cpu_frequency: undefined,
ram_brand: undefined,
ram_size: undefined,
ram_type: undefined,
ram_frequency: undefined,
storage_brand_1: undefined,
storage_size_1: undefined,
storage_type_1: undefined,
storage_brand_2: undefined,
storage_size_2: undefined,
storage_type_2: undefined,
storage_brand_3: undefined,
storage_size_3: undefined,
storage_type_3: undefined,
storage_brand_4: undefined,
storage_size_4: undefined,
storage_type_4: undefined,
storage_brand_5: undefined,
storage_size_5: undefined,
storage_type_5: undefined
}
}
}
It would be great if you could explain me what I'm doing wrong, for me it looks like that the variable 'brand' is empty and causing errors.
I'm also very new to docker and I would like to know if there is any *.env-config file I can edit + how I can configure dashdot to automatically start after system boot.
Memory usage in Dashdot : 11GB
Memory usage in free: 10GB
Memory usage in top: 73MB (but actually around 10GB)
Memory usage in htop: 3.5GB
Free and top take into account the buffer and cache, and I guess Dashdot uses similar tools.
htop shows the actual memory being used (since buffered and cached memory are reserved by the OS and not really used, from what I understand at least).
I feel like it would be more useful to display the actual memory being used, like htop does (RES and not VIRT/SHR).
Here is an interesting article I've found, hope it helps in some way
https://peteris.rocks/blog/htop/
My OS shows as Arch Linux unknown
where it should be Arch Linux rolling
.
When testing the output of systeminformation directly, platform shows as rolling. Seems like the release info is not read properly.
Just use arch btw, (No, honestly. I've tested it in a seperate vm and it also says unknown.)
dashdot log:
dashdot-dash-1 | 2022-06-12T08:30:17.573425224Z os: {
dashdot-dash-1 | 2022-06-12T08:30:17.573429304Z arch: 'x64',
dashdot-dash-1 | 2022-06-12T08:30:17.573433384Z distro: 'Arch Linux',
dashdot-dash-1 | 2022-06-12T08:30:17.573436724Z kernel: '5.18.3-arch1-1',
dashdot-dash-1 | 2022-06-12T08:30:17.573440004Z platform: 'linux',
dashdot-dash-1 | 2022-06-12T08:30:17.573442834Z release: 'unknown',
dashdot-dash-1 | 2022-06-12T08:30:17.573446084Z uptime: 85800.52
dashdot-dash-1 | 2022-06-12T08:30:17.573449004Z }
systeminformation output:
{
platform: 'linux',
distro: 'Arch',
release: 'rolling',
codename: '',
kernel: '5.18.3-arch1-1',
arch: 'x64',
hostname: 'arch',
fqdn: [Function: __node_internal_checkError] {
[Symbol(Symbol.toPrimitive)]: [Function (anonymous)]
}
Firefox, Chrome, Safari, Microsoft Edge
Desktop PC (Linux)
No response
Since the release of 3.9.x, the current measurements (networks speed, CPU/RAM/Storage percent) are hidden.
Reverting to 3.8.2 bring them back
No response
No response
Firefox, Chrome, Microsoft Edge
Linux Server
No response
Not all details can be correctly acquired through docker, so it might be good to be able to set some information via environment variables
Currently, until the speed test is run, up and down speed are both marked as /
on the frontend. This only changes on a hard refresh of the page.
We could use sockets for that "static" information as well - that way, when any changes happen, we can just propagate those directly into the view.
The percentages on the top left take away from the clean look of Dash. It would be better if they are only shown on mobile (because there it is harder to actually hover the graph).
Tasks:
DASHDOT_ALWAYS_SHOW_PERCENTAGE
to go back to the old behaviorIf possible, could dash. show the IP of the device (WAN and or LAN) under the new NETWORKING section?
No response
When shrinking the window's height, some icons are shrinking too, because the content cannot shrink anymore.
An easy fix would be to give the items a min-height
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.