网站功能型和展示型的区别,建设网站的目的及功能定位,企业建站用什么好,wordpress 官网什么是 Speedtest Tracker ? Speedtest Tracker 是一款自托管互联网性能跟踪应用程序#xff0c;可针对 Ookla 的 Speedtest 服务运行速度测试检查。 之前老苏介绍的另一个 https://github.com/henrywhitaker3/Speedtest-Tracker 已被放弃。现在这个是积极维护的替代品#…
什么是 Speedtest Tracker ? Speedtest Tracker 是一款自托管互联网性能跟踪应用程序可针对 Ookla 的 Speedtest 服务运行速度测试检查。 之前老苏介绍的另一个 https://github.com/henrywhitaker3/Speedtest-Tracker 已被放弃。现在这个是积极维护的替代品具有改进的用户界面和功能集。 文章传送门用Speedtest-Tracker跟踪上网速度 Speedtest Tracker 会保留历史记录所以会用到数据库做存储支持的数据库类型包括 SQLite、MySQL、MariaDB 和 PostgreSQL 图形界面安装老苏默认使用了 SQLite 命令行安装则使用了群晖套件中自带的 MariaDB 和容器部署的 MariaDB
建数据库
老苏用了群晖自带的 MariaDB 10 数据库。 在 phpMyAdmin 中创建名为 speedtest 的空数据库。 为便于说明假设数据库密码为 123456 所以根据上面的设置最后得到的数据库相关的参数如下
数据库主机192.168.0.197与群晖主机 IP 一致数据库端口3307数据库用户speedtest数据库密码123456数据库库名speedtest因为勾选了与用户同名
安装
在群晖上以 Docker 方式安装。
关于镜像一开始是 ajustesen/speedtest-tracker本文写作时 latest 版本对应为 v0.14.5但这个版本到 v0.19.0 就不再更新了 与这个版本对应的是 ghcr.io/alexjustesen/speedtest-tracker 官方现在推荐的版本是 lscr.io/linuxserver/speedtest-tracker在 dockerhub 上就是 linuxserver/speedtest-tracker本文修订时的最新版本为 0.20.6 卷
在 docker 文件夹中创建一个新文件夹 speedtest并在其中建一个子文件夹 config
文件夹装载路径说明docker/speedtest/config/config存放数据库和网页文件等 端口
本地端口不冲突就行不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号本地端口容器端口876480
默认对外暴露了 3 端口
80 端口是 http 协议的443 端口是 http 协议的 老苏只保留了 80 端口 环境
可变值PUID设为 1000PGID设为 1000DB_CONNECTION设置数据库类型支持 sqlite、mysql 等APP_KEY用于加密和解密数据的密钥APP_TIMEZONE如果数据库不使用 UTC 作为默认时区则应设置应用程序时区SPEEDTEST_SCHEDULE用于按计划运行速度测试的 Cron 表达式PRUNE_RESULTS_OLDER_THAN保存测试结果的天数
APP_KEY可以在 https://speedtest-tracker.dev 生成 SPEEDTEST_SCHEDULE可以问 AI老苏用了 */10 * * * *这是 10 分钟
更多环境变量的说明请参考官方文档 https://docs.speedtest-tracker.dev/getting-started/environment-variables 命令行安装
如果你熟悉命令行可能用 docker cli 更快捷
# 新建文件夹 speedtest 和 子目录
mkdir -p /volume1/docker/speedtest/config# 进入 speedtest 目录
cd /volume1/docker/speedtest# 运行容器
docker run -d \--restart unless-stopped \--name speedtest-tracker \-p 8764:80 \-v $(pwd)/config:/config \-e PUID1000 \-e PGID1000 \-e APP_KEYbase64:Bl8DLs4k220iy5Y5OkdRh51wuDzur0IFmOXS5QiL6M \-e DB_CONNECTIONsqlite \-e APP_TIMEZONEAsia/Shanghai \-e SPEEDTEST_SCHEDULE*/10 * * * * \-e PRUNE_RESULTS_OLDER_THAN7 \linuxserver/speedtest-tracker也可以用 docker-compose 安装将下面的内容保存为 docker-compose.yml 文件
直接使用群晖 mariadb 数据库的 docker-compose.yml 文件
version: 3services:speedtest-tracker:image: linuxserver/speedtest-tracker:latestcontainer_name: speedtest-trackerrestart: unless-stoppedports:- 8764:80volumes:- ./config:/configenvironment:- PUID1000- PGID1000- DB_CONNECTIONmysql- DB_HOST192.168.0.197- DB_PORT3307- DB_DATABASEspeedtest- DB_USERNAMEspeedtest- DB_PASSWORD123456- APP_KEYbase64:Bl8DLs4k220iy5Y5OkdRh51wuDzur0IFmOXS5QiL6M- APP_TIMEZONEAsia/Shanghai- SPEEDTEST_SCHEDULE*/10 * * * *- PRUNE_RESULTS_OLDER_THAN7独立部署数据库的 docker-compose.yml 文件
version: 3services:speedtest-tracker:image: linuxserver/speedtest-tracker:latestcontainer_name: speedtest-trackerrestart: unless-stoppedports:- 8764:80volumes:- ./config:/configenvironment:- PUID1000- PGID1000- DB_CONNECTIONmysql- DB_HOSTdb- DB_PORT3306- DB_DATABASEspeedtest- DB_USERNAMEspeedtest- DB_PASSWORD123456- APP_KEYbase64:Bl8DLs4k220iy5Y5OkdRh51wuDzur0IFmOXS5QiL6M- APP_TIMEZONEAsia/Shanghai- SPEEDTEST_SCHEDULE*/10 * * * *- PRUNE_RESULTS_OLDER_THAN7depends_on:- dbdb:image: mariadb:10.6container_name: speedtest-dbrestart: alwaysvolumes:- ./data:/var/lib/mysqlenvironment:- MARIADB_DATABASEspeedtest- MARIADB_USERspeedtest- MARIADB_PASSWORD123456- MARIADB_RANDOM_ROOT_PASSWORDtrue然后执行下面的命令
# 新建文件夹 speedtest 和 子目录
mkdir -p /volume1/docker/speedtest/{config,data}# 进入 speedtest 目录
cd /volume1/docker/speedtest# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d运行
在浏览器中输入 http://群晖IP:8764 就能看到注册界面 缺省的账号 adminexample.com密码password 登录成功后的界面 如果你不想等待可以进行手动测试。点右上角黄色按钮 Run Speedtest会有一行小字 Ookla speedtest 继续点 Ookla speedtest会看到 Ookla speedtest started
这时候你会看到有数据显示了 如果测试总是失败 可以考虑通过 SPEEDTEST_SERVERS 参数指定用于速度测试的服务器
可以通过内置的命令获取附近的服务器列表
docker exec speedtest-tracker php /app/www/artisan app:ookla-list-servers或者在这里 https://linuxspeedtest.com查 ID 可能这里国内的会更多一些https://williamyaps.github.io/wlmjavascript/servercli.html 在 docker-cli 中可以增加环境变量 -e SPEEDTEST_SERVERS3633,45170,54312 \在 docker-compose.yml 中增加环境变量 - SPEEDTEST_SERVERS3633,45170,54312在 Docker 管理器中只要编辑原来的容器新增一条即可 如果 SPEEDTEST_SCHEDULE 设置有问题可能导致下面的错误 参考文档 alexjustesen/speedtest-tracker: Speedtest Tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla’s Speedtest service. 地址https://github.com/alexjustesen/speedtest-tracker Introduction - Speedtest Tracker 地址https://docs.speedtest-tracker.dev/ MySQL - connection refused - New install of both · Issue #1078 · alexjustesen/speedtest-tracker 地址https://github.com/alexjustesen/speedtest-tracker/issues/1078