用Speedtest-Tracker跟踪上网速度
什么是 Speedtest-Tracker ?
Speedtest-Tracker每小时运行一次speedtest检查,并将结果绘制成图表。后端使用Laravel编写,前端使用React。它使用Ookla的speedtest cli包获取数据,并使用Chart.js绘制结果。
从功能上看和老苏之前介绍的 『 docker-speedtest-analyser 』差不多。
但也有自己的特点:
- 每小时自动运行一次速度测试
x天前的速度测试图表- 以
JSON/CSV格式备份/恢复数据 Slack/Discord/Telegram通知healthchecks.io集成Organizr整合InfluxDB集成(目前仅v1,v2 WIP)
不过老苏不建议你安装,原因是:
- 镜像启动时,会从网上下载文件,存在失败的可能,也可能时间会比较长;
- 镜像有一年没更新了,而且最后一个版本存在少文件的问题(不知道是不是因为涉及版权问题,所以没把
Speedtest CLI文件打入镜像),如果不会命令行操作的,很可能跑不起来;
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 speedtest-tracker ,选择第一个 henrywhitaker3/speedtest-tracker,版本选择 latest。

卷
在 docker 文件夹中,创建一个新文件夹 speedtest-tracker,并在其中建一个子文件夹 config
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/speedtest-tracker/config |
/config |
存放设置 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
8765 |
80 |

两个端口留一个就可以了,不用的端口可以删掉,免得占用资源。老苏只留了
80端口

环境
| 可变 | 值 |
|---|---|
TZ |
默认设为 Asia/Shanghai |
OOKLA_EULA_GDPR |
默认设为true |
因为使用了第三方的测速软件,所以需要同意最终用户协议(
EULA),如果不设置OOKLA_EULA_GDPR=true,容器将不会启动。

当然参数不止这一个,更多的请看:https://github.com/henrywhitaker3/Speedtest-Tracker#parameters
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 speedtest-tracker 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3.3' |
然后执行下面的命令,在 portainer 中执行也是可以的
1 | # 新建文件夹 speedtest-tracker 和 子目录 |
运行
在浏览器中输入 http://群晖IP:8765 ,如果你直接打开,很可能看到的不是主界面,而是下面👇的错误,但不要担心,先看看日志

能看到容器有下载更新的动作,所以这个时间可能会比较长,要有耐心。

老苏估计要看到这两个提示才行

再刷新页面,应该可以看到主界面了

问题
但是实际上老苏还是一直测速不成功,查看日志,发现失败时出现了 sh: /config/www/app/Bin/speedtest: not found,显然是缺少文件导致的

当然老苏不是第一个遇到这个问题的,肯定也不是会是最后一个(因为这货已经一年没更新了)。Issues 中有人给出了解决办法:https://github.com/henrywhitaker3/Speedtest-Tracker/issues/855
执行下面的命令:
- 第一步、下载
Speedtest CLI文件
1 | # 进入 Bin 目录 |

- 第二步、手动接受
EULA(End-user license agreement)
1 | # 进入容器 |

- 第三步、执行一次
Speedtest
1 | # 在容器内执行 |

现在可以看到数据了

之后每个整点会自动测试

最后上一张官方的动图

参考文档
henrywhitaker3/Speedtest-Tracker: Continuously track your internet speed
地址:https://github.com/henrywhitaker3/Speedtest-Tracker[BUG] sh: /config/www/app/Bin/speedtest: not found + No successfully speedtest result · Issue #855 · henrywhitaker3/Speedtest-Tracker
地址:https://github.com/henrywhitaker3/Speedtest-Tracker/issues/855