发布应用 SpeedTest Tracker

Signed-off-by: Meng Sen <qyg2297248353@gmail.com>
This commit is contained in:
新疆萌森软件开发工作室 2024-11-28 12:33:57 +08:00
parent 482c59b635
commit 6246768a8a
33 changed files with 551 additions and 710 deletions

2
.github/README.md vendored
View File

@ -156,7 +156,7 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/slink/logo.png" width="22"/> | Slink | https://github.com/andrii-kryvoviaz/slink/ | 图片分享平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/sonarr/logo.png" width="22"/> | sonarr | https://sonarr.tv/ | 智能 PVR 适用于新闻组和 BT 用户。 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/speedtest/logo.png" width="22"/> | SpeedTest | https://www.speedtest.net/ | 互联网速度测试 | |
| 🔴 | | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/speedtest-tracker/logo.png" width="22"/> | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec | https://github.com/hua0512/stream-rec/ | Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec Web版 | https://github.com/hua0512/stream-rec/ | 【前端版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec 服务版 | https://github.com/hua0512/stream-rec/ | 【服务版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |

View File

@ -139,7 +139,7 @@
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/slink/logo.png" width="22"/> | Slink | https://github.com/andrii-kryvoviaz/slink/ | 图片分享平台 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/sonarr/logo.png" width="22"/> | sonarr | https://sonarr.tv/ | 智能 PVR 适用于新闻组和 BT 用户。 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/speedtest/logo.png" width="22"/> | SpeedTest | https://www.speedtest.net/ | 互联网速度测试 | |
| 🔴 | | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/speedtest-tracker/logo.png" width="22"/> | SpeedTest-Tracker | https://docs.speedtest-tracker.dev/ | Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec | https://github.com/hua0512/stream-rec/ | Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec Web版 | https://github.com/hua0512/stream-rec/ | 【前端版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |
| 🟢 | <img height="22" src="https://file.lifebus.top/apps/stream-rec/logo.png" width="22"/> | Stream-Rec 服务版 | https://github.com/hua0512/stream-rec/ | 【服务版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | |

View File

@ -0,0 +1,150 @@
additionalProperties:
formFields:
- default: "/home/speedtest-tracker"
edit: true
envKey: SPEEDTEST_TRACKER_ROOT_PATH
labelEn: Data persistence root path
labelZh: 数据持久化 根路径
required: true
type: text
- default: "host"
edit: true
envKey: NETWORK_MODE
labelEn: Drive path
labelZh: 网络模式
required: true
type: select
values:
- label: 主机网络模式
value: "host"
- label: 桥接网络模式
value: "bridge"
- label: 无网络模式
value: "none"
- label: 1panel-network
value: "1panel-network"
- default: 8080
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Server port
labelZh: Web 服务端口
required: true
rule: paramPort
type: number
- default: "base64:f0Ivk1nHd3QwXtR55WKC4fcc7QjrxxTnkiB02ipdl60="
edit: true
envKey: APP_KEY
labelZh: 应用密钥 (官网获取)
labelEn: App key (Get from official website)
required: true
type: text
- default: "SpeedTest Tracker"
edit: true
envKey: APP_NAME
labelZh: 应用名称
labelEn: App Name
required: true
type: text
- default: "http://127.0.0.1:8080"
edit: true
envKey: APP_URL
labelZh: 应用访问地址
labelEn: App URL
required: true
type: text
- default: 0
edit: true
envKey: PRUNE_RESULTS_OLDER_THAN
labelZh: 测试结果保留天数
labelEn: Prune results older than
required: true
type: text
- default: "0 */6 * * *"
edit: true
envKey: SPEEDTEST_SCHEDULE
labelZh: 测试计划任务
labelEn: Speedtest schedule
required: false
type: text
- default: ""
edit: true
envKey: SPEEDTEST_SERVERS
labelZh: 指定测试服务器
labelEn: Specify servers
required: false
type: text
- default: "smtp"
edit: true
envKey: MAIL_MAILER
labelZh: 邮件 协议
labelEn: Mail mailer
required: false
type: text
- default: "smtp.gmail.com"
edit: true
envKey: MAIL_HOST
labelZh: 邮件 主机地址
labelEn: Mail host
required: false
type: text
- default: 465
edit: true
envKey: MAIL_PORT
labelZh: 邮件 主机端口
labelEn: Mail port
required: false
type: number
- default: ""
edit: true
envKey: MAIL_USERNAME
labelZh: 邮件 鉴权用户名
labelEn: Mail username
required: false
type: text
- default: ""
edit: true
envKey: MAIL_PASSWORD
labelZh: 邮件 鉴权密码
labelEn: Mail password
required: false
type: text
- default: ""
edit: true
envKey: MAIL_FROM_ADDRESS
labelZh: 邮件 发件地址
labelEn: Mail from address
required: false
type: text
- default: "Speedtest Tracker"
edit: true
envKey: MAIL_FROM_NAME
labelZh: 邮件 发件名称
labelEn: Mail from name
required: false
type: text
- default: "tls"
edit: true
envKey: MAIL_ENCRYPTION
labelZh: 邮件 加密方式
labelEn: Mail encryption
required: false
type: text
- default: ""
edit: true
envKey: TELEGRAM_BOT_TOKEN
labelZh: Telegram 机器人令牌
labelEn: Telegram bot token
required: false
type: text
- default: "file"
edit: true
envKey: CACHE_DRIVER
labelZh: 缓存 驱动
labelEn: Cache driver
required: true
type: select
values:
- label: 文件缓存
value: "file"
- label: 数据库缓存
value: "database"

View File

@ -0,0 +1,26 @@
networks:
1panel-network:
external: true
services:
speedtest-tracker:
image: linuxserver/speedtest-tracker:0.24.3
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
network_mode: ${NETWORK_MODE}
ports:
- ${PANEL_APP_PORT_HTTP}:80
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${SPEEDTEST_TRACKER_ROOT_PATH}/config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- DISPLAY_TIMEZONE=Asia/Shanghai
- DB_CONNECTION=sqlite
- MAIL_MAILER=sqlite

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -1,10 +1,10 @@
#!/bin/bash
if [[ -f .env ]]; then
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo ".env not found."
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,25 @@
# Speedtest Tracker SQLite版
Speedtest Tracker 的主要用例是建立互联网性能的历史记录,以便您在未收到 ISP 公布的费率时收到通知。
![Speedtest Tracker](https://file.lifebus.top/imgs/speedtest_tracker_cover.png)
Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查。
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 应用说明
Speedtest Tracker 是一个自托管的互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查。
由于 Speedtest 服务主要节点位于国外所以在国内使用时可能会有一些问题但是在国外使用时Speedtest Tracker 是一个非常好的选择。
## 安装说明
> admin@example.com
>
> password
---
![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png)

View File

@ -0,0 +1,15 @@
additionalProperties:
key: speedtest-tracker-sqlite
name: SpeedTest Tracker SQLite版
tags:
- WebSite
- Middleware
- Local
shortDescZh: 托管互联网性能跟踪应用程序
shortDescEn: Hosted internet performance tracking application
type: website
crossVersionUpdate: true
limit: 0
website: https://docs.speedtest-tracker.dev/
github: https://github.com/alexjustesen/speedtest-tracker
document: https://docs.speedtest-tracker.dev/

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,176 +0,0 @@
additionalProperties:
formFields:
- default: "lscr.io/linuxserver/speedtest-tracker:0.18.3"
edit: true
envKey: SPEED_TEST_IMAGE
labelEn: Image source
labelZh: 镜像源
required: true
type: select
values:
- label: "LinuxServer"
value: "lscr.io/linuxserver/speedtest-tracker:0.18.3"
- label: "GitHub"
value: "ghcr.io/alexjustesen/speedtest-tracker:v0.18.3"
- default: "/home/speedtest-tracker"
edit: true
envKey: SP_TRACKER_ROOT_PATH
labelEn: Data persistence root path
labelZh: 数据持久化 根路径
required: true
type: text
- default: 8080
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Server port
labelZh: Web 服务端口
required: true
rule: paramPort
type: number
- default: 8443
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: Server port
labelZh: SSL 服务端口
required: true
rule: paramPort
type: number
- default: "Asia/Shanghai"
edit: true
envKey: SP_TRACKER_TZ
labelEn: Timezone
labelZh: 时区
required: false
type: text
- default: "sqlite"
edit: true
envKey: SP_TRACKER_DB_TYPE
labelEn: Database type
labelZh: 数据库驱动类型
required: true
type: select
values:
- label: MySQL (MariaDB)
value: "mysql"
- label: SQLite
value: "sqlite"
- label: PostgreSQL
value: "pgsql"
- default: "localhost"
edit: true
envKey: SP_TRACKER_DB_HOST
labelEn: Database host IP
labelZh: 数据库主机IP
required: false
type: text
- default: 3306
edit: true
envKey: SP_TRACKER_DB_PORT
labelEn: Database Port (default 3306)
labelZh: 数据库端口 (默认3306)
required: false
rule: paramPort
type: number
- default: "speedtest_tracker"
edit: true
envKey: SP_TRACKER_DB_USER
labelEn: Database Connection Username
labelZh: 数据库 用户名
required: false
type: text
- default: "speedtest_tracker"
edit: true
envKey: SP_TRACKER_DB_PASSWORD
labelEn: Database Connection Password
labelZh: 数据库 用户名密码
required: false
type: password
- default: "speedtest_tracker"
edit: true
envKey: MYSQL_SERVICE_DB_NAME
labelEn: Database Name
labelZh: 数据库名称
required: false
type: text
- default: ""
edit: true
envKey: SP_TRACKER_APP_KEY
labelEn: Application Key
labelZh: 加密存储数据的应用程序密钥 (Base64 开头)
required: false
type: text
- default: 1000
edit: true
envKey: PUID
labelEn: User ID
labelZh: 用户ID
required: false
type: number
- default: 1000
edit: true
envKey: PGID
labelEn: Group ID
labelZh: 组ID
required: false
type: number
- default: "smtp"
edit: true
envKey: MAIL_MAILER
labelEn: Mailer
labelZh: 协议 (SMTP)
required: false
type: text
- default: "smtp.163.com"
edit: true
envKey: MAIL_HOST
labelEn: Mail Host
labelZh: 邮件服务器地址 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_USERNAME
labelEn: Mail Username
labelZh: 邮件用户名 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_PASSWORD
labelEn: Mail Password
labelZh: 邮件账户密码 (SMTP)
required: false
type: text
- default: "ssl"
edit: true
envKey: MAIL_ENCRYPTION
labelEn: Mail Encryption
labelZh: 邮件加密方式 (SMTP)
required: false
type: select
values:
- label: "SSL"
value: "ssl"
- label: "TLS"
value: "tls"
- default: ""
edit: true
envKey: MAIL_FROM_ADDRESS
labelEn: Mail From Address
labelZh: 邮件发送地址 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_FROM_NAME
labelEn: Mail From Name
labelZh: 邮件发送者名称 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: TELEGRAM_BOT_TOKEN
labelEn: Bot Token ID (Telegram Notification)
labelZh: 机器人的令牌 ID (通知 Telegram)
required: false
type: text

View File

@ -1,34 +0,0 @@
networks:
1panel-network:
external: true
services:
speedtest-tracker:
image: ${SPEED_TEST_IMAGE}
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:80
- ${PANEL_APP_PORT_HTTPS}:443
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${SP_TRACKER_TZ:-Asia/Shanghai}
- DB_CONNECTION=${SP_TRACKER_DB_TYPE:-sqlite}
- DB_HOST=${SP_TRACKER_DB_HOST}
- DB_PORT=${SP_TRACKER_DB_PORT}
- DB_DATABASE=${MYSQL_SERVICE_DB_NAME}
- DB_USERNAME=${SP_TRACKER_DB_USER}
- DB_PASSWORD=${SP_TRACKER_DB_PASSWORD}
volumes:
- ${SP_TRACKER_ROOT_PATH}/config:/config
healthcheck:
test: curl -fSs APP_URL/api/healthcheck || exit 1
interval: 10s
retries: 3
start_period: 30s
timeout: 10s

View File

@ -1,18 +0,0 @@
#!/bin/bash
if [[ -f .env ]]; then
source .env
keys
mkdir -p "$SP_TRACKER_ROOT_PATH"
mkdir -p "$SP_TRACKER_ROOT_PATH/conf"
mkdir -p "$SP_TRACKER_ROOT_PATH/conf/keys"
chmod $PUID:$PGID -R "$SP_TRACKER_ROOT_PATH"
echo "Check Finish."
else
echo ".env not found."
fi

View File

@ -1,10 +0,0 @@
#!/bin/bash
if [[ -f .env ]]; then
source .env
echo "Check Finish."
else
echo ".env not found."
fi

View File

@ -1,176 +0,0 @@
additionalProperties:
formFields:
- default: "lscr.io/linuxserver/speedtest-tracker:0.18.7"
edit: true
envKey: SPEED_TEST_IMAGE
labelEn: Image source
labelZh: 镜像源
required: true
type: select
values:
- label: "LinuxServer"
value: "lscr.io/linuxserver/speedtest-tracker:0.18.7"
- label: "GitHub"
value: "ghcr.io/alexjustesen/speedtest-tracker:v0.18.7"
- default: "/home/speedtest-tracker"
edit: true
envKey: SP_TRACKER_ROOT_PATH
labelEn: Data persistence root path
labelZh: 数据持久化 根路径
required: true
type: text
- default: 8080
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Server port
labelZh: Web 服务端口
required: true
rule: paramPort
type: number
- default: 8443
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: Server port
labelZh: SSL 服务端口
required: true
rule: paramPort
type: number
- default: "Asia/Shanghai"
edit: true
envKey: SP_TRACKER_TZ
labelEn: Timezone
labelZh: 时区
required: false
type: text
- default: "sqlite"
edit: true
envKey: SP_TRACKER_DB_TYPE
labelEn: Database type
labelZh: 数据库驱动类型
required: true
type: select
values:
- label: MySQL (MariaDB)
value: "mysql"
- label: SQLite
value: "sqlite"
- label: PostgreSQL
value: "pgsql"
- default: "localhost"
edit: true
envKey: SP_TRACKER_DB_HOST
labelEn: Database host IP
labelZh: 数据库主机IP
required: false
type: text
- default: 3306
edit: true
envKey: SP_TRACKER_DB_PORT
labelEn: Database Port (default 3306)
labelZh: 数据库端口 (默认3306)
required: false
rule: paramPort
type: number
- default: "speedtest_tracker"
edit: true
envKey: SP_TRACKER_DB_USER
labelEn: Database Connection Username
labelZh: 数据库 用户名
required: false
type: text
- default: "speedtest_tracker"
edit: true
envKey: SP_TRACKER_DB_PASSWORD
labelEn: Database Connection Password
labelZh: 数据库 用户名密码
required: false
type: password
- default: "speedtest_tracker"
edit: true
envKey: MYSQL_SERVICE_DB_NAME
labelEn: Database Name
labelZh: 数据库名称
required: false
type: text
- default: ""
edit: true
envKey: SP_TRACKER_APP_KEY
labelEn: Application Key
labelZh: 加密存储数据的应用程序密钥 (Base64 开头)
required: false
type: text
- default: 1000
edit: true
envKey: PUID
labelEn: User ID
labelZh: 用户ID
required: false
type: number
- default: 1000
edit: true
envKey: PGID
labelEn: Group ID
labelZh: 组ID
required: false
type: number
- default: "smtp"
edit: true
envKey: MAIL_MAILER
labelEn: Mailer
labelZh: 协议 (SMTP)
required: false
type: text
- default: "smtp.163.com"
edit: true
envKey: MAIL_HOST
labelEn: Mail Host
labelZh: 邮件服务器地址 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_USERNAME
labelEn: Mail Username
labelZh: 邮件用户名 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_PASSWORD
labelEn: Mail Password
labelZh: 邮件账户密码 (SMTP)
required: false
type: text
- default: "ssl"
edit: true
envKey: MAIL_ENCRYPTION
labelEn: Mail Encryption
labelZh: 邮件加密方式 (SMTP)
required: false
type: select
values:
- label: "SSL"
value: "ssl"
- label: "TLS"
value: "tls"
- default: ""
edit: true
envKey: MAIL_FROM_ADDRESS
labelEn: Mail From Address
labelZh: 邮件发送地址 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_FROM_NAME
labelEn: Mail From Name
labelZh: 邮件发送者名称 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: TELEGRAM_BOT_TOKEN
labelEn: Bot Token ID (Telegram Notification)
labelZh: 机器人的令牌 ID (通知 Telegram)
required: false
type: text

View File

@ -1,34 +0,0 @@
networks:
1panel-network:
external: true
services:
speedtest-tracker:
image: ${SPEED_TEST_IMAGE}
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:80
- ${PANEL_APP_PORT_HTTPS}:443
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${SP_TRACKER_TZ:-Asia/Shanghai}
- DB_CONNECTION=${SP_TRACKER_DB_TYPE:-sqlite}
- DB_HOST=${SP_TRACKER_DB_HOST}
- DB_PORT=${SP_TRACKER_DB_PORT}
- DB_DATABASE=${MYSQL_SERVICE_DB_NAME}
- DB_USERNAME=${SP_TRACKER_DB_USER}
- DB_PASSWORD=${SP_TRACKER_DB_PASSWORD}
volumes:
- ${SP_TRACKER_ROOT_PATH}/config:/config
healthcheck:
test: curl -fSs APP_URL/api/healthcheck || exit 1
interval: 10s
retries: 3
start_period: 30s
timeout: 10s

View File

@ -1,18 +0,0 @@
#!/bin/bash
if [[ -f .env ]]; then
source .env
keys
mkdir -p "$SP_TRACKER_ROOT_PATH"
mkdir -p "$SP_TRACKER_ROOT_PATH/conf"
mkdir -p "$SP_TRACKER_ROOT_PATH/conf/keys"
chmod $PUID:$PGID -R "$SP_TRACKER_ROOT_PATH"
echo "Check Finish."
else
echo ".env not found."
fi

View File

@ -1,176 +0,0 @@
additionalProperties:
formFields:
- default: "lscr.io/linuxserver/speedtest-tracker:0.19.0"
edit: true
envKey: SPEED_TEST_IMAGE
labelEn: Image source
labelZh: 镜像源
required: true
type: select
values:
- label: "LinuxServer"
value: "lscr.io/linuxserver/speedtest-tracker:0.19.0"
- label: "GitHub"
value: "ghcr.io/alexjustesen/speedtest-tracker:v0.19.0"
- default: "/home/speedtest-tracker"
edit: true
envKey: SP_TRACKER_ROOT_PATH
labelEn: Data persistence root path
labelZh: 数据持久化 根路径
required: true
type: text
- default: 8080
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Server port
labelZh: Web 服务端口
required: true
rule: paramPort
type: number
- default: 8443
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: Server port
labelZh: SSL 服务端口
required: true
rule: paramPort
type: number
- default: "Asia/Shanghai"
edit: true
envKey: SP_TRACKER_TZ
labelEn: Timezone
labelZh: 时区
required: false
type: text
- default: "sqlite"
edit: true
envKey: SP_TRACKER_DB_TYPE
labelEn: Database type
labelZh: 数据库驱动类型
required: true
type: select
values:
- label: MySQL (MariaDB)
value: "mysql"
- label: SQLite
value: "sqlite"
- label: PostgreSQL
value: "pgsql"
- default: "localhost"
edit: true
envKey: SP_TRACKER_DB_HOST
labelEn: Database host IP
labelZh: 数据库主机IP
required: false
type: text
- default: 3306
edit: true
envKey: SP_TRACKER_DB_PORT
labelEn: Database Port (default 3306)
labelZh: 数据库端口 (默认3306)
required: false
rule: paramPort
type: number
- default: "speedtest_tracker"
edit: true
envKey: SP_TRACKER_DB_USER
labelEn: Database Connection Username
labelZh: 数据库 用户名
required: false
type: text
- default: "speedtest_tracker"
edit: true
envKey: SP_TRACKER_DB_PASSWORD
labelEn: Database Connection Password
labelZh: 数据库 用户名密码
required: false
type: password
- default: "speedtest_tracker"
edit: true
envKey: MYSQL_SERVICE_DB_NAME
labelEn: Database Name
labelZh: 数据库名称
required: false
type: text
- default: ""
edit: true
envKey: SP_TRACKER_APP_KEY
labelEn: Application Key
labelZh: 加密存储数据的应用程序密钥 (Base64 开头)
required: false
type: text
- default: 1000
edit: true
envKey: PUID
labelEn: User ID
labelZh: 用户ID
required: false
type: number
- default: 1000
edit: true
envKey: PGID
labelEn: Group ID
labelZh: 组ID
required: false
type: number
- default: "smtp"
edit: true
envKey: MAIL_MAILER
labelEn: Mailer
labelZh: 协议 (SMTP)
required: false
type: text
- default: "smtp.163.com"
edit: true
envKey: MAIL_HOST
labelEn: Mail Host
labelZh: 邮件服务器地址 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_USERNAME
labelEn: Mail Username
labelZh: 邮件用户名 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_PASSWORD
labelEn: Mail Password
labelZh: 邮件账户密码 (SMTP)
required: false
type: text
- default: "ssl"
edit: true
envKey: MAIL_ENCRYPTION
labelEn: Mail Encryption
labelZh: 邮件加密方式 (SMTP)
required: false
type: select
values:
- label: "SSL"
value: "ssl"
- label: "TLS"
value: "tls"
- default: ""
edit: true
envKey: MAIL_FROM_ADDRESS
labelEn: Mail From Address
labelZh: 邮件发送地址 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: MAIL_FROM_NAME
labelEn: Mail From Name
labelZh: 邮件发送者名称 (SMTP)
required: false
type: text
- default: ""
edit: true
envKey: TELEGRAM_BOT_TOKEN
labelEn: Bot Token ID (Telegram Notification)
labelZh: 机器人的令牌 ID (通知 Telegram)
required: false
type: text

View File

@ -1,34 +0,0 @@
networks:
1panel-network:
external: true
services:
speedtest-tracker:
image: ${SPEED_TEST_IMAGE}
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:80
- ${PANEL_APP_PORT_HTTPS}:443
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${SP_TRACKER_TZ:-Asia/Shanghai}
- DB_CONNECTION=${SP_TRACKER_DB_TYPE:-sqlite}
- DB_HOST=${SP_TRACKER_DB_HOST}
- DB_PORT=${SP_TRACKER_DB_PORT}
- DB_DATABASE=${MYSQL_SERVICE_DB_NAME}
- DB_USERNAME=${SP_TRACKER_DB_USER}
- DB_PASSWORD=${SP_TRACKER_DB_PASSWORD}
volumes:
- ${SP_TRACKER_ROOT_PATH}/config:/config
healthcheck:
test: curl -fSs APP_URL/api/healthcheck || exit 1
interval: 10s
retries: 3
start_period: 30s
timeout: 10s

View File

@ -1,2 +0,0 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@ -1,2 +0,0 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View File

@ -1,18 +0,0 @@
#!/bin/bash
if [[ -f .env ]]; then
source .env
keys
mkdir -p "$SP_TRACKER_ROOT_PATH"
mkdir -p "$SP_TRACKER_ROOT_PATH/conf"
mkdir -p "$SP_TRACKER_ROOT_PATH/conf/keys"
chmod $PUID:$PGID -R "$SP_TRACKER_ROOT_PATH"
echo "Check Finish."
else
echo ".env not found."
fi

View File

@ -0,0 +1,221 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_DB_HOST
required: true
type: service
default: postgresql
edit: true
envKey: PANEL_DB_TYPE
labelZh: 数据库 服务 (前置检查)
labelEn: Database Service (Pre-check)
required: true
type: apps
values:
- label: PostgreSQL
value: postgresql
- label: MySQL
value: mysql
- label: MariaDB
value: mariadb
- label: Percona
value: percona
- default: "/home/speedtest-tracker"
edit: true
envKey: SPEEDTEST_TRACKER_ROOT_PATH
labelEn: Data persistence root path
labelZh: 数据持久化 根路径
required: true
type: text
- default: "host"
edit: true
envKey: NETWORK_MODE
labelEn: Drive path
labelZh: 网络模式
required: true
type: select
values:
- label: 主机网络模式
value: "host"
- label: 桥接网络模式
value: "bridge"
- label: 无网络模式
value: "none"
- label: 1panel-network
value: "1panel-network"
- default: 8080
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Server port
labelZh: Web 服务端口
required: true
rule: paramPort
type: number
- default: "base64:f0Ivk1nHd3QwXtR55WKC4fcc7QjrxxTnkiB02ipdl60="
edit: true
envKey: APP_KEY
labelZh: 应用密钥 (官网获取)
labelEn: App key (Get from official website)
required: true
type: text
- default: "SpeedTest Tracker"
edit: true
envKey: APP_NAME
labelZh: 应用名称
labelEn: App Name
required: true
type: text
- default: "http://127.0.0.1:8080"
edit: true
envKey: APP_URL
labelZh: 应用访问地址
labelEn: App URL
required: true
type: text
- default: postgres
edit: true
envKey: DB_CONNECTION
labelZh: 数据库 类型
labelEn: Database Type
required: true
type: select
values:
- label: PostgreSQL
value: postgres
- label: MySQL (MariaDB, Percona)
value: mysql
- default: "127.0.0.1"
edit: true
envKey: DB_HOST
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: 5432
edit: true
envKey: DB_PORT
labelZh: 数据库 端口
labelEn: Database Port
required: true
rule: paramPort
type: number
- default: "speedtest-tracker"
edit: true
envKey: DB_USERNAME
labelZh: 数据库 用户名
labelEn: Database User
required: true
type: text
- default: ""
edit: true
envKey: DB_PASSWORD
labelEn: Database Password
labelZh: 数据库 密码
random: true
required: true
rule: paramComplexity
type: password
- default: "speedtest-tracker"
edit: true
envKey: DB_DATABASE
labelZh: 数据库 名称
labelEn: Database Name
required: true
type: text
- default: 0
edit: true
envKey: PRUNE_RESULTS_OLDER_THAN
labelZh: 测试结果保留天数
labelEn: Prune results older than
required: true
type: text
- default: "0 */6 * * *"
edit: true
envKey: SPEEDTEST_SCHEDULE
labelZh: 测试计划任务
labelEn: Speedtest schedule
required: false
type: text
- default: ""
edit: true
envKey: SPEEDTEST_SERVERS
labelZh: 指定测试服务器
labelEn: Specify servers
required: false
type: text
- default: "smtp"
edit: true
envKey: MAIL_MAILER
labelZh: 邮件 协议
labelEn: Mail mailer
required: false
type: text
- default: "smtp.gmail.com"
edit: true
envKey: MAIL_HOST
labelZh: 邮件 主机地址
labelEn: Mail host
required: false
type: text
- default: 465
edit: true
envKey: MAIL_PORT
labelZh: 邮件 主机端口
labelEn: Mail port
required: false
type: number
- default: ""
edit: true
envKey: MAIL_USERNAME
labelZh: 邮件 鉴权用户名
labelEn: Mail username
required: false
type: text
- default: ""
edit: true
envKey: MAIL_PASSWORD
labelZh: 邮件 鉴权密码
labelEn: Mail password
required: false
type: text
- default: ""
edit: true
envKey: MAIL_FROM_ADDRESS
labelZh: 邮件 发件地址
labelEn: Mail from address
required: false
type: text
- default: "Speedtest Tracker"
edit: true
envKey: MAIL_FROM_NAME
labelZh: 邮件 发件名称
labelEn: Mail from name
required: false
type: text
- default: "tls"
edit: true
envKey: MAIL_ENCRYPTION
labelZh: 邮件 加密方式
labelEn: Mail encryption
required: false
type: text
- default: ""
edit: true
envKey: TELEGRAM_BOT_TOKEN
labelZh: Telegram 机器人令牌
labelEn: Telegram bot token
required: false
type: text
- default: "file"
edit: true
envKey: CACHE_DRIVER
labelZh: 缓存 驱动
labelEn: Cache driver
required: true
type: select
values:
- label: 文件缓存
value: "file"
- label: 数据库缓存
value: "database"

View File

@ -0,0 +1,24 @@
networks:
1panel-network:
external: true
services:
speedtest-tracker:
image: linuxserver/speedtest-tracker:0.24.3
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
network_mode: ${NETWORK_MODE}
ports:
- ${PANEL_APP_PORT_HTTP}:80
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
volumes:
- ${SPEEDTEST_TRACKER_ROOT_PATH}/config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- DISPLAY_TIMEZONE=Asia/Shanghai

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -1,10 +1,10 @@
#!/bin/bash
if [[ -f .env ]]; then
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo ".env not found."
echo "Error: .env file not found."
fi

View File

@ -0,0 +1,17 @@
#!/bin/bash
if [ -f .env ]; then
source .env
# setup-1 add default values
CURRENT_DIR=$(pwd)
sed -i '/^ENV_FILE=/d' .env
sed -i '/^GLOBAL_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@ -1,12 +1,20 @@
# Speedtest Tracker
Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查。
Speedtest Tracker 的主要用例是建立互联网性能的历史记录,以便您在未收到 ISP 公布的费率时收到通知。
![Speedtest Tracker](https://file.lifebus.top/imgs/speedtest_tracker_cover.png)
Speedtest Tracker 是一款自托管互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查。
![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue)
## 默认账户
## 应用说明
Speedtest Tracker 是一个自托管的互联网性能跟踪应用程序,可针对 Ookla 的 Speedtest 服务运行速度测试检查。
由于 Speedtest 服务主要节点位于国外所以在国内使用时可能会有一些问题但是在国外使用时Speedtest Tracker 是一个非常好的选择。
## 安装说明
> admin@example.com
>

View File

@ -1,11 +1,13 @@
additionalProperties:
key: speedtest-tracker
name: SpeedTest-Tracker
name: SpeedTest Tracker
tags:
- Tool
- WebSite
- Middleware
- Local
shortDescZh: 托管互联网性能跟踪应用程序
shortDescEn: Hosted internet performance tracking application
type: tool
type: website
crossVersionUpdate: true
limit: 0
website: https://docs.speedtest-tracker.dev/