dashdot 6.3.4 配置参数详解
逐项讲清 dashdot v6.3.4 全部 75 个 DASHDOT_ 配置参数的类型、默认值与生效机制,含八组参数总览、八类核心参数详解与两组生产配置模板,生效路径均在 Ubuntu 26.04.1 服务器实测验证。
dashdot 6.3.4 配置参数详解
目标:逐项讲清 dashdot v6.3.4 的全部 75 个
DASHDOT_配置参数——类型、默认值、作用域与生效机制,并给出两组可直接落地的生产配置模板。全部参数以 v6.3.4 源码apps/server/src/config.ts与官方文档源码为据,生效路径均在 Ubuntu 26.04.1 服务器上实测验证。
一、环境信息
本文参数与实测环境如下:
| 项目 | 值 |
|---|---|
| 操作系统 | Ubuntu 26.04.1 LTS(内核 7.0.0-38-generic) |
| dashdot 版本 | 6.3.4(源码构建运行,Node.js 20 运行时) |
| 参数解析源码 | 仓库 apps/server/src/config.ts(v6.3.4) |
| 参数文档源码 | 仓库 apps/docs/content/docs/configuration/(v6.3.4) |
| 参数注入方式 | DASHDOT_ 前缀环境变量 |
| 验证端点 | http://127.0.0.1:3001/config、/info、/load/* |
💡 说明:dashdot v6 移除了 v5 时代的
DASHDOT_THEME、DASHDOT_ACCENT_COLOR等外观类变量,深浅色切换由界面内置控件承担;本文只覆盖 v6.3.4 实际存在的参数,从 v5 迁移的读者请勿沿用已删除的变量名。
二、前置条件
- dashdot 已在某台 Linux 服务器上运行(源码方式或官方分发包均可),且能访问其
/config端点;部署本身见本专栏部署篇。 - 服务器有 Node.js 20.x 与 yarn(源码方式重启进程用)、curl(端点验证用)。
- 修改参数需要能向服务进程注入环境变量并重启进程:源码方式即
export后重新启动;以其他方式(编排工具、开机脚本等)运行时,把同样的变量写入对应的环境注入配置后重建即可,变量名与取值完全一致。
三、参数查看与修改方式
3.1 通过 /config 端点查看当前生效值
dashdot 把解析后的完整配置暴露在只读端点 /config 上,响应顶层为 config(解析后的全部参数)、version(版本号)、buildhash(构建哈希)三个字段,这是核对参数是否生效的第一手段:
curl -s http://127.0.0.1:3001/config | head -c 400
实测回显(默认配置,节选):
{"config":{"port":3001,"routing_path":"/","running_in_docker":false,"accept_ookla_eula":false,"fs_device_filter":[],"fs_type_filter":["cifs","9p","fuse.rclone","fuse.mergerfs","nfs4","iso9660","fuse.shfs","autofs"],"fs_virtual_mounts":[],"disable_integrations":false,"disable_background_stats_collection":false,"show_dash_version":"icon_hover","show_host":false,"page_title":"dash.","use_imperial":fa
按需提取单个参数时用 python 解析(示例取组件清单与轮询间隔):
curl -s http://127.0.0.1:3001/config | python3 -c "import json,sys; d=json.load(sys.stdin)['config']; print(d['widget_list'], d['cpu_poll_interval'])"
实测回显:
['os', 'cpu', 'storage', 'ram', 'network'] 1000
3.2 通过启动日志查看
进程启动时会把静态信息与解析后的 config 全量打印到日志,其中 Static Server Info JSON 的 config 节与 /config 端点内容一致,适合排障时直接翻日志核对。实测日志(输出节选,实测首尾,中间静态信息从略):
Static Server Info: {
...
config: {
port: 3001,
routing_path: '/',
...
}
}
3.3 修改参数与重新生效
所有参数都是启动时一次性解析的环境变量,改完必须重启进程才生效。源码方式的完整闭环(以端口为例):
export DASHDOT_PORT="8080" \
&& sudo -E yarn start
验证已生效(实测回显):
curl -s http://127.0.0.1:3001/config | head -c 80 # 旧进程仍在 3001 端口
curl -s http://127.0.0.1:8080/config | head -c 80 # 新进程已在 8080 端口
实测回显(两行依次对应上面两条命令):
{"config":{"port":3001,"routing_path":"/","running_in_docker":false,"accept_ookl
{"config":{"port":8080,"routing_path":"/","running_in_docker":false,"accept_ookl
新旧两个端点返回的 port 字段分别为 3001 与 8080,其余参数保持默认值不变,说明端口参数在启动时重新解析并已生效。
⚠️ 注意:环境变量值中的布尔量必须写字符串
"true"/"false"(源码用=== 'true'判定),列表类用英文逗号分隔且逗号后不要留空格(空格会进入元素值);数值类直接写数字字符串。
四、参数总览
v6.3.4 共 75 个参数,按作用域分八组。总览表列出全部参数的默认值,逐项详解见第五节:
基础与页面展示(10 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_PORT | number | 3001 |
DASHDOT_ROUTING_PATH | string | / |
DASHDOT_PAGE_TITLE | string | dash. |
DASHDOT_WIDGET_LIST | 列表 | os,cpu,storage,ram,network |
DASHDOT_SHOW_DASH_VERSION | string | icon_hover |
DASHDOT_USE_IMPERIAL | boolean | false |
DASHDOT_ALWAYS_SHOW_PERCENTAGES | boolean | false |
DASHDOT_NETWORK_SPEED_AS_BYTES | boolean | false |
DASHDOT_DISABLE_INTEGRATIONS | boolean | false |
DASHDOT_DISABLE_BACKGROUND_STATS_COLLECTION | boolean | false |
OS 服务器信息组件(7 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_OS_LABEL_LIST | 列表 | os,arch,up_since |
DASHDOT_SHOW_HOST | boolean | false |
DASHDOT_CUSTOM_HOST | string | 未设置 |
DASHDOT_OS_WIDGET_GROW | number | 2.5 |
DASHDOT_OS_WIDGET_MIN_WIDTH | number | 300 |
DASHDOT_OVERRIDE_OS | string | 未设置 |
DASHDOT_OVERRIDE_ARCH | string | 未设置 |
CPU 组件(12 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_CPU_LABEL_LIST | 列表 | brand,model,cores,threads,frequency |
DASHDOT_ENABLE_CPU_TEMPS | boolean | false |
DASHDOT_CPU_TEMPS_MODE | string | avg |
DASHDOT_CPU_CORES_TOGGLE_MODE | string | toggle |
DASHDOT_CPU_WIDGET_GROW | number | 4 |
DASHDOT_CPU_WIDGET_MIN_WIDTH | number | 500 |
DASHDOT_CPU_SHOWN_DATAPOINTS | number | 20 |
DASHDOT_CPU_POLL_INTERVAL | number | 1000 |
DASHDOT_OVERRIDE_CPU_BRAND | string | 未设置 |
DASHDOT_OVERRIDE_CPU_MODEL | string | 未设置 |
DASHDOT_OVERRIDE_CPU_CORES | number | 未设置 |
DASHDOT_OVERRIDE_CPU_THREADS | number | 未设置 |
DASHDOT_OVERRIDE_CPU_FREQUENCY | number | 未设置(单位 GHz) |
存储组件(11 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_STORAGE_LABEL_LIST | 列表 | brand,type,size,raid(代码默认;文档页写 brand,size,type) |
DASHDOT_FS_DEVICE_FILTER | 列表 | 未设置 |
DASHDOT_FS_TYPE_FILTER | 列表 | cifs,9p,fuse.rclone,fuse.mergerfs,nfs4,iso9660,fuse.shfs,autofs |
DASHDOT_FS_VIRTUAL_MOUNTS | 列表 | 未设置 |
DASHDOT_STORAGE_WIDGET_ITEMS_PER_PAGE | number | 3 |
DASHDOT_STORAGE_WIDGET_GROW | number | 3.5 |
DASHDOT_STORAGE_WIDGET_MIN_WIDTH | number | 500 |
DASHDOT_STORAGE_POLL_INTERVAL | number | 60000 |
DASHDOT_OVERRIDE_STORAGE_BRANDS | 键值串 | 未设置 |
DASHDOT_OVERRIDE_STORAGE_SIZES | 键值串 | 未设置(单位字节) |
DASHDOT_OVERRIDE_STORAGE_TYPES | 键值串 | 未设置 |
内存组件(9 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_RAM_LABEL_LIST | 列表 | brand,type,size,frequency(代码默认;文档页写 brand,size,type,frequency) |
DASHDOT_RAM_WIDGET_GROW | number | 4 |
DASHDOT_RAM_WIDGET_MIN_WIDTH | number | 500 |
DASHDOT_RAM_SHOWN_DATAPOINTS | number | 20 |
DASHDOT_RAM_POLL_INTERVAL | number | 1000 |
DASHDOT_OVERRIDE_RAM_BRAND | string | 未设置 |
DASHDOT_OVERRIDE_RAM_SIZE | number | 未设置(单位字节) |
DASHDOT_OVERRIDE_RAM_TYPE | string | 未设置 |
DASHDOT_OVERRIDE_RAM_FREQUENCY | number | 未设置 |
网络组件(15 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_NETWORK_LABEL_LIST | 列表 | type,speed_up,speed_down,interface_speed |
DASHDOT_ACCEPT_OOKLA_EULA | boolean | false |
DASHDOT_USE_NETWORK_INTERFACE | string | 未设置 |
DASHDOT_SPEED_TEST_FROM_PATH | string | 未设置 |
DASHDOT_SPEED_TEST_INTERVAL | number | 240 |
DASHDOT_SPEED_TEST_INTERVAL_CRON | string | 未设置 |
DASHDOT_NETWORK_WIDGET_GROW | number | 6 |
DASHDOT_NETWORK_WIDGET_MIN_WIDTH | number | 500 |
DASHDOT_NETWORK_SHOWN_DATAPOINTS | number | 20 |
DASHDOT_NETWORK_POLL_INTERVAL | number | 1000 |
DASHDOT_OVERRIDE_NETWORK_TYPE | string | 未设置 |
DASHDOT_OVERRIDE_NETWORK_SPEED_UP | number | 未设置(单位 bit) |
DASHDOT_OVERRIDE_NETWORK_SPEED_DOWN | number | 未设置(单位 bit) |
DASHDOT_OVERRIDE_NETWORK_INTERFACE_SPEED | number | 未设置(单位 Megabit) |
DASHDOT_OVERRIDE_NETWORK_PUBLIC_IP | string | 未设置 |
GPU 组件(10 个)
| 变量 | 类型 | 默认值 |
|---|---|---|
DASHDOT_GPU_LABEL_LIST | 列表 | brand,model,memory |
DASHDOT_GPU_BRAND_FILTER | 列表 | 未设置 |
DASHDOT_GPU_MODEL_FILTER | 列表 | 未设置 |
DASHDOT_GPU_WIDGET_GROW | number | 6 |
DASHDOT_GPU_WIDGET_MIN_WIDTH | number | 700 |
DASHDOT_GPU_SHOWN_DATAPOINTS | number | 20 |
DASHDOT_GPU_POLL_INTERVAL | number | 1000 |
DASHDOT_OVERRIDE_GPU_BRANDS | 列表 | 未设置 |
DASHDOT_OVERRIDE_GPU_MODELS | 列表 | 未设置 |
DASHDOT_OVERRIDE_GPU_MEMORIES | 列表 | 未设置(单位 MiB) |
关键差异解读:*_WIDGET_GROW 控制各卡片在栅格中的相对宽度(数值越大占屏越宽),*_WIDGET_MIN_WIDTH 是触发换行的最小像素宽度;*_POLL_INTERVAL 决定采集频率(除磁盘外默认都是 1000ms),*_SHOWN_DATAPOINTS 决定图表滚动窗口内保留多少个点(默认 20,即 CPU/内存/网络约 20 秒窗口、磁盘约 20 分钟窗口)。
五、核心参数分类详解
5.1 基础与页面展示参数
这一组控制服务进程本身与面板的全局观感。实测把页面标题、英制单位、百分比常显、版本号常显与子路径路由一起注入:
export DASHDOT_PAGE_TITLE="my-lab" \
DASHDOT_USE_IMPERIAL="true" \
DASHDOT_ALWAYS_SHOW_PERCENTAGES="true" \
DASHDOT_SHOW_DASH_VERSION="bottom_right" \
DASHDOT_ROUTING_PATH="/dashdot/" \
&& sudo -E yarn start
核验(实测回显):
curl -s http://127.0.0.1:3001/dashdot/config | python3 -c "import json,sys; d=json.load(sys.stdin)['config']; print(d['page_title'], d['use_imperial'], d['always_show_percentages'], d['show_dash_version'], d['routing_path'])"
my-lab True True bottom_right /dashdot/
逐项说明:
DASHDOT_PORT:服务监听端口,改完浏览器与所有 API 调用同步换端口;DASHDOT_ROUTING_PATH:面板挂载的子路径,API 端点也随之前移(上例中/config实际位于/dashdot/config),反向代理按原样转发该前缀即可;根路径/仍会返回页面壳;DASHDOT_PAGE_TITLE:浏览器标签页标题。注意 HTML 源码里<title>恒为dash.,该值由前端加载后通过脚本改写,curl看源码验证不了,浏览器实际打开或查/config的page_title字段;DASHDOT_SHOW_DASH_VERSION:版本号展示位置,bottom_right(页面右下角常显)/icon_hover(GitHub 图标悬停显示,默认)/none;DASHDOT_USE_IMPERIAL:true时温度显示华氏度等英制单位(官方文档配图证实);DASHDOT_ALWAYS_SHOW_PERCENTAGES:默认仅移动端显示图表左上角的百分比,true后桌面端也常显;DASHDOT_NETWORK_SPEED_AS_BYTES:true时测速结果按字节每秒(MB/s)展示,默认按比特每秒(Mb/s),实测注入后/config中network_speed_as_bytes: True。
5.2 组件清单与标签列表参数
DASHDOT_WIDGET_LIST 决定启用哪些卡片,可选值 os,cpu,storage,ram,network,gpu(GPU 默认不在清单里)。各卡片的 *_LABEL_LIST 决定卡片头部展示哪些信息项。实测裁剪组件并给 OS 卡片追加版本号标签:
export DASHDOT_WIDGET_LIST="os,cpu,ram" \
DASHDOT_OS_LABEL_LIST="os,arch,up_since,dash_version" \
&& sudo -E yarn start
核验(实测回显):
curl -s http://127.0.0.1:3001/config | python3 -c "import json,sys; d=json.load(sys.stdin)['config']; print(d['widget_list'], d['os_label_list'])"
['os', 'cpu', 'ram'] ['os', 'arch', 'up_since', 'dash_version']
各标签列表的可用项:
DASHDOT_OS_LABEL_LIST:os、arch、up_since、dash_version;DASHDOT_CPU_LABEL_LIST:brand、model、cores、threads、frequency;DASHDOT_STORAGE_LABEL_LIST:brand、size、type(代码默认额外含raid);DASHDOT_RAM_LABEL_LIST:brand、size、type、frequency;DASHDOT_NETWORK_LABEL_LIST:type、speed_up、speed_down、interface_speed、public_ip;DASHDOT_GPU_LABEL_LIST:brand、model、memory。
⚠️ 注意:存储与内存两个标签列表存在文档与代码默认值不一致——官方文档页写
brand,size,type与brand,size,type,frequency,而 v6.3.4 源码 config.ts 的实际默认是brand,type,size,raid与brand,type,size,frequency。以/config端点读到的为准,介意顺序的显式设置该变量即可。
5.3 采集行为参数(轮询与数据点)
每个动态组件都有独立轮询间隔与数据点数。实测把 CPU 轮询间隔从 1000ms 放宽到 2000ms:
export DASHDOT_CPU_POLL_INTERVAL="2000" \
&& sudo -E yarn start
核验(实测回显):
cpu_poll_interval: 2000
参数与默认值速查:
| 参数 | 默认值 | 说明 |
|---|---|---|
DASHDOT_CPU_POLL_INTERVAL | 1000 | CPU 负载读取间隔(毫秒) |
DASHDOT_RAM_POLL_INTERVAL | 1000 | 内存占用读取间隔 |
DASHDOT_NETWORK_POLL_INTERVAL | 1000 | 网络流量读取间隔 |
DASHDOT_GPU_POLL_INTERVAL | 1000 | GPU 负载读取间隔 |
DASHDOT_STORAGE_POLL_INTERVAL | 60000 | 磁盘用量读取间隔(毫秒,默认 1 分钟) |
DASHDOT_CPU_SHOWN_DATAPOINTS | 20 | CPU 图表数据点数 |
DASHDOT_RAM_SHOWN_DATAPOINTS | 20 | 内存图表数据点数 |
DASHDOT_NETWORK_SHOWN_DATAPOINTS | 20 | 网络图表数据点数 |
DASHDOT_GPU_SHOWN_DATAPOINTS | 20 | GPU 图表数据点数 |
DASHDOT_DISABLE_BACKGROUND_STATS_COLLECTION | false | true 时关闭后台周期采集(6.3.0 新增),仅保留按需读取 |
解读:数据点数 × 轮询间隔 = 图表时间窗口(默认 CPU/内存/网络约 20 秒、磁盘约 20 分钟)。dashdot 不落盘,全部数据点存于进程内存,调大 *_SHOWN_DATAPOINTS 会线性增加内存占用,小型 VPS 上不宜过大。间隔与点数都改完后重启进程生效,面板窗口立即按新口径滚动。
5.4 网络与测速参数
测速链路是网络组件里最容易需要定制的部分,相关参数五个:
DASHDOT_ACCEPT_OOKLA_EULA(默认 false):设true表示接受 Ookla 的 EULA/条款/隐私政策,测速改用 Ookla 官方 speedtest CLI(v1.1.1);默认用旧版 speedtest-cli。实测默认通道两次测速耗时约 29 秒/次,结果下行约 164 与 115.6 Mb/s;DASHDOT_SPEED_TEST_INTERVAL(默认 240):测速重跑间隔,单位分钟;DASHDOT_SPEED_TEST_INTERVAL_CRON(默认未设置):cron 表达式(如0 0 * * *每天 0 点),设置后覆盖上面的分钟间隔;DASHDOT_SPEED_TEST_FROM_PATH(默认未设置):从本地文件读测速结果,彻底不再实测。文件格式(官方文档原文格式):
{
"unit": "bit",
"speedDown": 150000000,
"speedUp": 50000000,
"publicIp": "123.123.123.123"
}
值可写 bit(100000000 = 100 Mb/s,即 100 × 1000 × 1000)或 byte(100000000 = 800 Mb/s);⚠️ v6.0.0 有过一次单位口径 BREAKING 修正(bit/byte 曾被翻转),从 v5 迁移时务必核对该文件的数值口径。该路径在以官方分发形态运行时需带 /mnt/host 前缀书写(官方 FAQ 说明);
DASHDOT_USE_NETWORK_INTERFACE(默认未设置):dashdot 自动识别默认网卡,识别错时手工指定接口名(如ens33)。
5.5 存储过滤与虚拟挂载参数
多盘机器上存储卡片的三件套过滤器:
DASHDOT_FS_DEVICE_FILTER:按设备名过滤磁盘(如DASHDOT_FS_DEVICE_FILTER=sdb,sdc)。不知道设备名时先看启动日志Static Server Info的storage节,或直接执行lsblk;DASHDOT_FS_TYPE_FILTER:按文件系统类型过滤,默认已排除cifs,9p,fuse.rclone,fuse.mergerfs,nfs4,iso9660,fuse.shfs,autofs——这是为了防止网络盘被误报成本地盘;官方文档同时建议遇到误判时去仓库提 issue 以便修复默认清单;DASHDOT_FS_VIRTUAL_MOUNTS:显式放行被上面过滤器排除的虚拟挂载(如 mergerfs 聚合盘),取值为df第一列的文件系统名;只影响存储分屏视图,不影响饼图与磁盘列表。
覆盖类三个变量用于修正识别错误的静态信息,格式为 设备=值 键值串(多对用逗号分隔):
export DASHDOT_OVERRIDE_STORAGE_BRANDS="sda=Samsung,sdb=Western Digital" \
DASHDOT_OVERRIDE_STORAGE_SIZES="sda=500107862016" \
DASHDOT_OVERRIDE_STORAGE_TYPES="sda=SSD,sdb=HDD"
说明:SIZES 单位为字节(500107862016 ≈ 500GB);RAID 场景官方文档提示只需对 RAID 内单块盘设置 SIZE。
5.6 硬件信息覆盖参数(OVERRIDE_*)
DASHDOT_OVERRIDE_* 系列共 22 个,用于 VPS、虚拟机等读不到硬件静态信息的场景手工指定品牌/型号/规格。必须先理解它的生效层:覆盖值随 /config 下发,由前端渲染时套用(源码中形如 override.cpu_frequency ?? data.frequency 的取值逻辑),服务端 /info 永远返回原始采集值——这不是失效,是设计。
实测注入 CPU 频率与内存容量覆盖:
export DASHDOT_OVERRIDE_CPU_FREQUENCY="2.8" \
DASHDOT_OVERRIDE_RAM_SIZE="34359738368" \
&& sudo -E yarn start
核验(实测回显):
curl -s http://127.0.0.1:3001/config | python3 -c "import json,sys; d=json.load(sys.stdin)['config']['override']; print(d['cpu_frequency'], d['ram_size'])"
2.8 34359738368
curl -s http://127.0.0.1:3001/info | python3 -c "import json,sys; d=json.load(sys.stdin); print('info freq:', d['cpu']['frequency'])"
info freq: None
单位约定速查(易错项):
| 参数 | 单位 | 示例 |
|---|---|---|
DASHDOT_OVERRIDE_CPU_FREQUENCY | GHz | 2.8 |
DASHDOT_OVERRIDE_RAM_SIZE | 字节 | 32GB = 34359738368(32 × 1024³) |
DASHDOT_OVERRIDE_STORAGE_SIZES | 字节 | 同上 |
DASHDOT_OVERRIDE_NETWORK_SPEED_UP/DOWN | bit | 100 Mb/s = 100000000(100 × 1000²) |
DASHDOT_OVERRIDE_NETWORK_INTERFACE_SPEED | Megabit | 10 Gb/s = 10000(10 × 1000) |
DASHDOT_OVERRIDE_GPU_MEMORIES | MiB | 4096 显示为 4 GiB |
GPU 覆盖三兄弟支持跳位写法:多卡时用连续逗号跳过识别正确的卡,如 DASHDOT_OVERRIDE_GPU_BRANDS=Intel,,Nvidia 表示第 1 卡 Intel、第 3 卡 Nvidia。
OS 组件还有两个独立的覆盖项 DASHDOT_OVERRIDE_OS、DASHDOT_OVERRIDE_ARCH,以及网络类型/公网 IP 覆盖 DASHDOT_OVERRIDE_NETWORK_TYPE、DASHDOT_OVERRIDE_NETWORK_PUBLIC_IP(后者的值会显示在 network 卡片的 public_ip 标签里,需先把 public_ip 加入 DASHDOT_NETWORK_LABEL_LIST)。
5.7 集成与后台采集开关
DASHDOT_DISABLE_INTEGRATIONS(默认 false):设true同时做两件事——关闭 CORS(响应头Access-Control-Allow-Origin: *消失)并注销全部只读 API。实测开启后/config直接 404:
Cannot GET /config
公网部署且不需要第三方小部件读取数据时建议开启;页面本身不依赖这些端点(WebSocket 通道独立存在),面板显示不受影响;
DASHDOT_DISABLE_BACKGROUND_STATS_COLLECTION(默认 false,6.3.0 新增):关闭后台周期采集,配合外部按需拉取使用;常规部署保持默认。
5.8 GPU 组件参数
GPU 卡片需三步才能启用:分发渠道用 GPU 专用变体(官方分发的 nvidia 标签)、DASHDOT_WIDGET_LIST 加入 gpu、宿主有可用的 NVIDIA 驱动。参数面:DASHDOT_GPU_LABEL_LIST 控制标签(brand/model/memory),DASHDOT_GPU_BRAND_FILTER/DASHDOT_GPU_MODEL_FILTER 按品牌/型号过滤多卡显示(大小写敏感,过滤值以不加过滤时页面显示的原文为准),布局与刷新参数同其他组件(GROW 6 / MIN_WIDTH 700 / DATAPOINTS 20 / POLL 1000)。本机为无独显的虚拟机,实测 GPU 组件输出空列表(gpu: { layout: [] }),属无 NVIDIA 硬件时的正常表现。
六、生产配置模板
模板 A:小型 VPS(2GB 内存 / 40GB 磁盘 / 公网访问)——目标是低调、省资源、不被误读:
export DASHDOT_PAGE_TITLE="vps-mon" \
DASHDOT_WIDGET_LIST="os,cpu,storage,ram,network" \
DASHDOT_DISABLE_INTEGRATIONS="true" \
DASHDOT_SPEED_TEST_FROM_PATH="/mnt/host/opt/dashdot/speed.json" \
DASHDOT_ALWAYS_SHOW_PERCENTAGES="false"
要点:关闭集成(公网不暴露只读 API 与 CORS);测速走本地文件(小水管机器实测测速既慢又抖,本机实测一次 29 秒且两次结果差 30%+);页面标题改为有辨识度的名字;其余保持默认。
模板 B:家庭服务器(16GB 内存 / NVMe + HDD 多盘 / 有 NVIDIA 卡)——目标是全功能展示:
export DASHDOT_PAGE_TITLE="home-lab" \
DASHDOT_WIDGET_LIST="os,cpu,storage,ram,network,gpu" \
DASHDOT_ACCEPT_OOKLA_EULA="true" \
DASHDOT_SPEED_TEST_INTERVAL="720" \
DASHDOT_ENABLE_CPU_TEMPS="true" \
DASHDOT_CPU_TEMPS_MODE="max" \
DASHDOT_ALWAYS_SHOW_PERCENTAGES="true" \
DASHDOT_SHOW_DASH_VERSION="bottom_right" \
DASHDOT_NETWORK_SPEED_AS_BYTES="true"
要点:加入 GPU 组件并接受 Ookla EULA 换更准的测速;测速间隔放宽到 12 小时(720 分钟)减少打扰;物理机开启温度并取峰值口径(更利于发现散热问题);桌面端常显百分比便于截图汇报;速度按 MB/s 展示更符合家用带宽直觉。
两份模板均适用「注入后重启进程,curl /config 核对关键字段」的三步生效闭环;磁盘与内存充裕度只影响 *_SHOWN_DATAPOINTS 的上限(模板 B 可酌情调大到 60)。
七、常见问题
Q1:改了环境变量不生效?
环境变量在进程启动时一次性解析,改完必须重启进程(源码方式重新 yarn start;编排运行则重建实例)。重启后用 /config 核对——它显示的才是解析后的生效值。
Q2:设了 OVERRIDE_ 但 /info 里还是旧值?*
覆盖值只由前端渲染时套用,/info 永远返回原始采集值(第五节 5.6 有实测对照)。核验覆盖是否生效看 /config 的 override 字段,最终效果以浏览器页面显示为准。
Q3:布尔值写 true 不生效?
源码按字符串严格比较 === 'true',环境变量里必须写 "true"/"false" 字符串,写 True、1 都无效。
Q4:列表参数里的空格导致匹配失败?
*_LABEL_LIST、*_FILTER 等列表参数按英文逗号切分,不做 trim——"sda, sdb" 的第二项会是 " sdb" 而非 "sdb"。写紧凑形式 sda,sdb。
Q5:ROUTING_PATH 设置后面板白屏或 404?
路径必须首尾都带斜杠(如 /dashdot/);UI 与 API 同步前移,访问地址是 http://<IP>:3001/dashdot/ 而不是根路径。反向代理转发时保留前缀原样传递。
Q6:存储标签的顺序和官方文档说的不一样?
v6.3.4 代码默认 brand,type,size,raid(存储)与 brand,type,size,frequency(内存),与文档页描述存在出入(见 5.2)。以 /config 实际返回为准,显式设置 DASHDOT_STORAGE_LABEL_LIST 可完全掌控。
Q7:SPEED_TEST_FROM_PATH 的数值到底按 bit 还是 byte?
文件里 unit 字段声明口径:bit 时 100000000 = 100 Mb/s,byte 时同值 = 800 Mb/s。v6.0.0 修正过一次翻转问题,升级后请用面板显示值反推核对一次。
八、参考链接
- 参数解析源码:https://github.com/MauriceNino/dashdot/blob/v6.3.4/apps/server/src/config.ts
- 官方配置文档(basic/server/cpu/ram/storage/network/gpu 各页):https://getdashdot.com/docs/configuration/basic (文档源码
apps/docs/content/docs/configuration/,查询日期 2026-10-31) - 官方 FAQ:https://getdashdot.com/docs/faq
- 站内选型参考:《dashdot 6.3.4 介绍与选型指南》
- 站内部署参考:《dashdot 6.3.4 Docker Compose 部署指南》