【免费下载】 使用Docker部署LibreSpeed测速服务指南

使用Docker部署LibreSpeed测速服务指南

前言

LibreSpeed是一款开源的网络测速工具,它可以帮助用户快速测试网络的上传、下载速度以及延迟等关键指标。本文将详细介绍如何使用Docker容器技术来部署LibreSpeed测速服务,包括三种不同的运行模式:独立模式、前后端分离模式和双模式。

快速开始

对于想要快速体验LibreSpeed的用户,可以使用以下Docker命令:

docker run -p 80:80 -d --name speedtest --rm ghcr.io/librespeed/speedtest

这条命令会:

  1. 拉取最新的LibreSpeed镜像
  2. 在后台运行容器
  3. 将容器的80端口映射到主机的80端口
  4. 容器停止后自动删除

访问主机的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支持多种数据库后端:

  1. SQLite(默认): 数据存储在/database/db.sql
  2. MySQL/PostgreSQL: 需要额外配置连接参数
    • DB_HOSTNAME: 数据库服务器地址
    • DB_PORT(仅MySQL): 数据库端口
    • DB_NAME: 数据库名
    • DB_USERNAME/DB_PASSWORD: 数据库凭证

安全与隐私

  • 启用REDACT_IP_ADDRESSES可隐藏用户IP
  • 设置PASSWORD保护统计页面
  • 提供EMAIL满足GDPR要求
  • 使用ENABLE_ID_OBFUSCATION混淆测试ID

最佳实践

  1. 生产环境使用Docker Compose
  2. 启用数据持久化(-v参数)
  3. 根据需求选择合适的运行模式
  4. 配置适当的隐私保护选项
  5. 为统计页面设置强密码

通过以上配置,您可以灵活部署适合不同场景的LibreSpeed测速服务,既可用于简单的单点测试,也可构建分布式的全球测速网络。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值