使用Docker部署LibreSpeed测速服务指南
前言
LibreSpeed是一款开源的网络测速工具,它可以帮助用户快速测试网络的上传、下载速度以及延迟等关键指标。本文将详细介绍如何使用Docker容器技术来部署LibreSpeed测速服务,包括三种不同的运行模式:独立模式、前后端分离模式和双模式。
快速开始
对于想要快速体验LibreSpeed的用户,可以使用以下Docker命令:
docker run -p 80:80 -d --name speedtest --rm ghcr.io/librespeed/speedtest
这条命令会:
- 拉取最新的LibreSpeed镜像
- 在后台运行容器
- 将容器的80端口映射到主机的80端口
- 容器停止后自动删除
访问主机的80端口即可使用测速服务。
生产环境部署建议
对于生产环境,推荐使用Docker Compose进行部署。以下是推荐的docker-compose.yml配置:
version: '3.7'
services:
speedtest:
container_name: speedtest
image: ghcr.io/librespeed/speedtest:latest
restart: always
environment:
MODE: standalone
ports:
- "80:80"
三种运行模式详解
1. 独立模式(Standalone)
独立模式是最简单的部署方式,适合单服务器场景。设置MODE=standalone即可启用。
关键配置参数
- TITLE: 测速页面标题,默认为"LibreSpeed"
- TELEMETRY: 是否启用数据收集,默认为false
- ENABLE_ID_OBFUSCATION: 数据收集时是否混淆ID,默认为false
- REDACT_IP_ADDRESSES: 是否隐藏IP地址,默认为false
- DB_TYPE: 数据库类型,支持sqlite/mysql/postgresql
- PASSWORD: 统计页面访问密码
- EMAIL: GDPR合规要求的联系邮箱
- DISABLE_IPINFO: 是否禁用IP信息查询,默认为false
- IPINFO_APIKEY: ipinfo.io的API密钥
- DISTANCE: 距离单位,km/mi或空字符串
- WEBPORT: 容器内Web服务端口,默认为80
数据持久化示例
docker run -e MODE=standalone -e TELEMETRY=true \
-e ENABLE_ID_OBFUSCATION=true -e PASSWORD="yourPassword" \
-e WEBPORT=86 -p 86:86 \
-v $PWD/db-dir/:/database \
-it ghcr.io/librespeed/speedtest
2. 前后端分离模式
后端模式(Backend)
后端仅提供测速点功能,无UI界面。设置MODE=backend启用。
docker run -e MODE=backend -p 80:80 -it ghcr.io/librespeed/speedtest
前端模式(Frontend)
前端提供UI界面和服务器列表。需要准备servers.json文件:
[
{
"name": "服务器1",
"server": "//server1.example.com/",
"dlURL": "garbage.php",
"ulURL": "empty.php",
"pingURL": "empty.php",
"getIpURL": "getIP.php"
}
]
部署命令示例:
docker run -e MODE=frontend -e TELEMETRY=true \
-e PASSWORD="yourPassword" \
-v $PWD/servers.json:/servers.json \
-v $PWD/db-dir/:/database \
-p 80:80 -it ghcr.io/librespeed/speedtest
3. 双模式(Dual)
双模式兼具独立服务器和连接其他测速点的能力。设置MODE=dual并配置servers.json,其中第一个条目应为本地服务器。
数据库配置
LibreSpeed支持多种数据库后端:
- SQLite(默认): 数据存储在
/database/db.sql - MySQL/PostgreSQL: 需要额外配置连接参数
- DB_HOSTNAME: 数据库服务器地址
- DB_PORT(仅MySQL): 数据库端口
- DB_NAME: 数据库名
- DB_USERNAME/DB_PASSWORD: 数据库凭证
安全与隐私
- 启用
REDACT_IP_ADDRESSES可隐藏用户IP - 设置
PASSWORD保护统计页面 - 提供
EMAIL满足GDPR要求 - 使用
ENABLE_ID_OBFUSCATION混淆测试ID
最佳实践
- 生产环境使用Docker Compose
- 启用数据持久化(-v参数)
- 根据需求选择合适的运行模式
- 配置适当的隐私保护选项
- 为统计页面设置强密码
通过以上配置,您可以灵活部署适合不同场景的LibreSpeed测速服务,既可用于简单的单点测试,也可构建分布式的全球测速网络。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



