什么是 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 |
存放设置 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
8765 |
80 |
两个端口留一个就可以了,不用的端口可以删掉,免得占用资源。老苏只留了
80
端口
环境
可变 | 值 |
---|---|
TZ |
默认设为 Asia/Shanghai |
OOKLA_EULA_GDPR |
默认设为true |
因为使用了第三方的测速软件,所以需要同意最终用户协议(
EULA
),如果不设置OOKLA_EULA_GDPR=true
,容器将不会启动。
当然参数不止这一个,更多的请看:https://github.com/henrywhitaker3/Speedtest-Tracker#parameters
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 speedtest-tracker 和 子目录
mkdir -p /volume2/docker/speedtest-tracker/config
# 进入 speedtest-tracker 目录
cd /volume2/docker/speedtest-tracker
# 运行容器
docker run -d
--restart unless-stopped
--name speedtest-tracker
-p 8765:80
-v $(pwd)/config:/config
-e OOKLA_EULA_GDPR=true
-e TZ=Asia/Shanghai
henrywhitaker3/speedtest-tracker
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3.3'
services:
speedtest:
container_name: speedtest-tracke
image: henrywhitaker3/speedtest-tracker
ports:
- 8765:80
volumes:
- ./config:/config
environment:
- TZ=Asia/Shanghai
- PGID=1000
- PUID=1000
- OOKLA_EULA_GDPR=true
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "200k"
restart: unless-stopped
然后执行下面的命令,在 portainer
中执行也是可以的
# 新建文件夹 speedtest-tracker 和 子目录
mkdir -p /volume2/docker/speedtest-tracker/config
# 进入 speedtest-tracker 目录
cd /volume2/docker/speedtest-tracker
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8765
,如果你直接打开,很可能看到的不是主界面,而是下面👇的错误,但不要担心,先看看日志
能看到容器有下载更新的动作,所以这个时间可能会比较长,要有耐心。
老苏估计要看到这两个提示才行
再刷新页面,应该可以看到主界面了
问题
但是实际上老苏还是一直测速不成功,查看日志,发现失败时出现了 sh: /config/www/app/Bin/speedtest: not found
,显然是缺少文件导致的
当然老苏不是第一个遇到这个问题的,肯定也不是会是最后一个(因为这货已经一年没更新了)。Issues
中有人给出了解决办法:https://github.com/henrywhitaker3/Speedtest-Tracker/issues/855
执行下面的命令:
-
第一步、下载 Speedtest CLI
文件
# 进入 Bin 目录
cd /volume2/docker/speedtest-tracker/config/www/app/Bin
# 下载 Speedtest CLI 包
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz
# 解压文件
tar zxvf speedtest.tgz
-
第二步、手动接受 EULA(End-user license agreement)
# 进入容器
docker exec -it --user root speedtest-tracker /bin/bash
# 在容器内执行
php /config/www/artisan speedtest:eula
-
第三步、执行一次 Speedtest
# 在容器内执行
cd /config/www/app/Bin
# 运行一次 speedtest
# 提示 Do you accept the license? [type YES to accept]: 要输入 Yes
./speedtest
# 退出容器
exit
现在可以看到数据了
之后每个整点会自动测试
最后上一张官方的动图
参考文档
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
@所有人:写文不易,如果你都看到了这里,请点个赞
和在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。
原文始发于微信公众号(各种折腾):用Speedtest-Tracker跟踪上网速度
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/70683.html