【有趣好玩的Docker项目-Docker Compose部署】LibreSpeed网速测试服务-测试当前docker服务器的网速【speedtest】

在日常运维或个人服务器管理中,我们常常需要测试服务器的真实网络带宽。相比 Speedtest CLI,LibreSpeed 提供了一个轻量级、可自建的网页测速工具,非常适合放在自己的服务器上进行直连测试。本文将详细介绍如何使用 Docker Compose 最新版部署 LibreSpeed,并结合反向代理实现生产化访问。

📂 目录结构规划

为了方便迁移和维护,我们将所有配置集中在 /opt/docker-stack/librespeed/ 下:

代码

/opt/docker-stack/librespeed/
├─ compose.yaml
└─ data/
   ├─ .env
   └─ README.md
  • compose.yaml:主编排文件
  • data/.env:环境变量配置
  • data/README.md:部署说明文档

⚙️ 环境变量配置(data/.env)

env

LIBRESPEED_PORT=8080
LIBRESPEED_TITLE=LibreSpeed on Docker
LIBRESPEED_TELEMETRY=false
LIBRESPEED_OBFUSCATION=false
LIBRESPEED_REDACT_IP=false

🐳 Docker Compose 配置(compose.yaml)

yaml

name: librespeed

networks:
  web_net:               # 自定义网络,方便与其他容器(如 Caddy/Nginx)互通
    external: true       # 标记为外部网络,需要提前创建:docker network create web_net

services:
  librespeed:            # service name:推荐在反代或其他容器中引用这个名字
    image: ghcr.io/librespeed/speedtest:latest
    container_name: librespeed   # container name:宿主机上唯一标识,便于 docker ps / logs 管理
    restart: unless-stopped
    env_file:
      - ./data/.env
    environment:
      MODE: standalone           # 独立模式:前端+后端一体
      TITLE: ${LIBRESPEED_TITLE}
      TELEMETRY: ${LIBRESPEED_TELEMETRY}
      ENABLE_ID_OBFUSCATION: ${LIBRESPEED_OBFUSCATION}
      REDACT_IP_ADDRESSES: ${LIBRESPEED_REDACT_IP}
    ports:
      - "8080:80"                # 外部访问端口映射
      # - "127.0.0.1:8080:80"    # 如果只想本机访问,可取消注释
    networks:
      - web_net
    volumes:
      - ./data:/data             # 挂载数据目录,方便保存配置或扩展

🔑 Service Name vs Container Name

  • service name (librespeed)
    • 在同一个网络中,其他容器可以直接通过 librespeed:80 访问。
    • 推荐在反向代理配置中使用 service name。
  • container name (librespeed)
    • 宿主机上唯一标识,便于 docker psdocker logs librespeed 管理。
    • 不建议在跨容器访问时使用,因为 Docker DNS 默认解析的是 service name。

📑 README.md(保存到 data 目录)

markdown

# LibreSpeed 部署文档

## 目录结构

/opt/docker-stack/librespeed/ ├─ compose.yaml └─ data/ ├─ .env └─ README.md

代码


## 环境变量 (.env)
- `LIBRESPEED_PORT`:宿主机映射端口(默认 8080)
- `LIBRESPEED_TITLE`:页面标题
- `LIBRESPEED_TELEMETRY`:是否启用遥测(默认 false)
- `LIBRESPEED_OBFUSCATION`:是否启用 ID 混淆
- `LIBRESPEED_REDACT_IP`:是否隐藏 IP 地址

## 网络配置
- 使用自定义网络 `web_net`,需提前创建:
  ```bash
  docker network create web_net
  • 这样可以与其他容器(如 Caddy/Nginx)互通,Caddyfile 可直接写:代码librespeed.example.xyz { reverse_proxy librespeed:80 }

启动与停止

bash

cd /opt/docker-stack/librespeed
docker compose up -d      # 启动
docker compose down       # 停止并删除容器
docker compose restart    # 重启

升级与回滚

  • 升级:bashdocker compose pull && docker compose up -d
  • 回滚: 修改 compose.yaml 中镜像标签为上一个版本或 digest,然后:bashdocker compose up -d

验证

  • 浏览器访问 http://服务器IP:8080 → 验证直连
  • 如果有反代(Caddy/Nginx),访问 https://librespeed.example.xyz

注意事项

  • service name 用于容器间互通,推荐在反代配置里使用。
  • container name 用于宿主机管理,便于查看日志和状态。
  • 如果只想本机访问,可在 compose.yaml 中启用:代码ports: - "127.0.0.1:8080:80"

代码


---

## 🚀 总结

- 使用 Docker Compose 部署 LibreSpeed 非常简单,核心就是一个 `compose.yaml` + `.env` 文件。  
- 通过 `web_net` 网络,可以轻松与反向代理(Caddy/Nginx)互通,实现统一的 HTTPS 管理。  
- 目录结构清晰,迁移时只需打包整个 `/opt/docker-stack/librespeed/` 目录即可。  

---
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇