Add LibreSpeed LinuxServer app

This commit is contained in:
okxlin
2026-06-26 01:01:28 +08:00
parent dc35d158a6
commit 781cf0e87c
15 changed files with 416 additions and 0 deletions
@@ -0,0 +1,8 @@
CONTAINER_NAME=
PANEL_APP_PORT_HTTP=80
CONFIG_PATH=./data/config
TIME_ZONE=Asia/Shanghai
PASSWORD=linuxserver-change-me
CUSTOM_RESULTS=false
IPINFO_APIKEY=
+107
View File
@@ -0,0 +1,107 @@
additionalProperties:
formFields:
- default: 80
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: HTTP Port
labelZh: HTTP 端口
label:
en: HTTP Port
zh: HTTP 端口
zh-Hant: HTTP 連接埠
ja: HTTP ポート
ko: HTTP 포트
ru: HTTP-порт
ms: Port HTTP
pt-br: Porta HTTP
required: true
type: number
rule: paramPort
- default: ./data/config
edit: true
envKey: CONFIG_PATH
labelEn: Config folder path
labelZh: 配置文件路径
label:
en: Config folder path
zh: 配置文件路径
zh-Hant: 設定檔資料夾路徑
ja: 設定フォルダーのパス
ko: 설정 폴더 경로
ru: Путь к папке конфигурации
ms: Laluan folder konfigurasi
pt-br: Caminho da pasta de configuração
required: true
type: text
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
labelEn: Time zone
labelZh: 时区
label:
en: Time zone
zh: 时区
zh-Hant: 時區
ja: タイムゾーン
ko: 시간대
ru: Часовой пояс
ms: Zon waktu
pt-br: Fuso horário
required: true
type: text
- default: linuxserver-change-me
edit: true
envKey: PASSWORD
labelEn: Results database password
labelZh: 结果数据库密码
label:
en: Results database password
zh: 结果数据库密码
zh-Hant: 結果資料庫密碼
ja: 結果データベースのパスワード
ko: 결과 데이터베이스 비밀번호
ru: Пароль базы данных результатов
ms: Kata laluan pangkalan data keputusan
pt-br: Senha do banco de dados de resultados
random: true
required: true
rule: paramComplexity
type: password
- default: "false"
edit: true
envKey: CUSTOM_RESULTS
labelEn: Custom results page
labelZh: 自定义结果页
label:
en: Custom results page
zh: 自定义结果页
zh-Hant: 自訂結果頁
ja: カスタム結果ページ
ko: 사용자 지정 결과 페이지
ru: Пользовательская страница результатов
ms: Halaman keputusan tersuai
pt-br: Pagina de resultados personalizada
required: true
type: select
values:
- label: "false"
value: "false"
- label: "true"
value: "true"
- default: ""
edit: true
envKey: IPINFO_APIKEY
labelEn: IPInfo access token
labelZh: IPInfo 访问令牌
label:
en: IPInfo access token
zh: IPInfo 访问令牌
zh-Hant: IPInfo 存取權杖
ja: IPInfo アクセストークン
ko: IPInfo 액세스 토큰
ru: Токен доступа IPInfo
ms: Token akses IPInfo
pt-br: Token de acesso IPInfo
required: false
type: password
@@ -0,0 +1,25 @@
networks:
1panel-network:
external: true
services:
librespeed:
image: "linuxserver/librespeed:6.1.0"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:80"
volumes:
- "${CONFIG_PATH}:/config"
environment:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- PASSWORD=${PASSWORD}
- CUSTOM_RESULTS=${CUSTOM_RESULTS}
- DB_TYPE=sqlite
- IPINFO_APIKEY=${IPINFO_APIKEY:-}
labels:
createdBy: "Apps"
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -euo pipefail
paths=(
"${CONFIG_PATH:-./data/config}"
)
mkdir -p "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
esac
done
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
docker-compose down --volumes
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
:
+61
View File
@@ -0,0 +1,61 @@
# LibreSpeed
## 产品介绍
LibreSpeed 是一个自托管网络速度测试服务,本应用使用 LinuxServer.io 镜像部署。
## 主要功能
- 在浏览器中进行下载、上传、延迟和抖动测试。
- 使用 `/config` 持久化配置和结果数据库。
- 默认使用 sqlite 结果数据库,便于单容器部署和迁移。
## 访问说明
安装完成后,通过应用表单中的 HTTP 端口访问 Web UI。
## Introduction
LibreSpeed is a self-hosted network speed test service. This app deploys the LinuxServer.io image.
## Features
- Run download, upload, latency, and jitter tests from a browser.
- Persist configuration and the results database under `/config`.
- Use sqlite by default for a simple single-container deployment.
## 应用简介
LibreSpeed 测速服务。
英文说明:Network speed test service maintained by LinuxServer.io.
## 部署说明
- 本应用使用 Docker Compose 在 1Panel 中部署。
- 应用分类:工具。
- 支持架构:amd64、arm64。
- 可选版本:`latest`、`6.1.0`。
## 端口
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| PANEL_APP_PORT_HTTP | HTTP 端口 | 80 | 是 |
## 数据持久化
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| CONFIG_PATH | 配置文件路径 | ./data/config | 是 |
升级或迁移前,请在 1Panel 中备份上述数据目录。
## 配置项
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| TIME_ZONE | 时区 | Asia/Shanghai | 是 |
| PASSWORD | 结果数据库密码 | 随机生成 | 是 |
| CUSTOM_RESULTS | 启用自定义结果页 | false | 是 |
| IPINFO_APIKEY | IPInfo 访问令牌 | 空 | 否 |
## 使用说明
- 默认结果数据库类型固定为 sqlite,不需要外部数据库。
- 如需对外开放访问,请同步检查防火墙、安全组和反向代理配置。
## 参考资料
- 官网: <https://librespeed.org/>
- 文档: <https://docs.linuxserver.io/images/docker-librespeed/>
- 源码: <https://github.com/linuxserver/docker-librespeed>
+31
View File
@@ -0,0 +1,31 @@
name: LibreSpeed
tags:
- Tool
title: LibreSpeed 测速服务
description: LibreSpeed 测速服务
additionalProperties:
key: librespeed-linuxserver
name: LibreSpeed
tags:
- Tool
shortDescZh: LibreSpeed 测速服务
shortDescEn: Network speed test service maintained by LinuxServer.io
description:
en: Network speed test service maintained by LinuxServer.io
zh: LibreSpeed 测速服务
zh-Hant: LibreSpeed 測速服務
ja: LinuxServer.io が保守するネットワーク速度テストサービス
ko: LinuxServer.io에서 유지 관리하는 네트워크 속도 테스트 서비스
ru: Сервис проверки скорости сети, поддерживаемый LinuxServer.io
ms: Perkhidmatan ujian kelajuan rangkaian yang diselenggara oleh LinuxServer.io
pt-br: Servico de teste de velocidade de rede mantido pela LinuxServer.io
type: tool
crossVersionUpdate: true
limit: 0
website: https://librespeed.org/
github: https://github.com/linuxserver/docker-librespeed
document: https://docs.linuxserver.io/images/docker-librespeed/
architectures:
- amd64
- arm64
@@ -0,0 +1,8 @@
CONTAINER_NAME=
PANEL_APP_PORT_HTTP=80
CONFIG_PATH=./data/config
TIME_ZONE=Asia/Shanghai
PASSWORD=linuxserver-change-me
CUSTOM_RESULTS=false
IPINFO_APIKEY=
+107
View File
@@ -0,0 +1,107 @@
additionalProperties:
formFields:
- default: 80
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: HTTP Port
labelZh: HTTP 端口
label:
en: HTTP Port
zh: HTTP 端口
zh-Hant: HTTP 連接埠
ja: HTTP ポート
ko: HTTP 포트
ru: HTTP-порт
ms: Port HTTP
pt-br: Porta HTTP
required: true
type: number
rule: paramPort
- default: ./data/config
edit: true
envKey: CONFIG_PATH
labelEn: Config folder path
labelZh: 配置文件路径
label:
en: Config folder path
zh: 配置文件路径
zh-Hant: 設定檔資料夾路徑
ja: 設定フォルダーのパス
ko: 설정 폴더 경로
ru: Путь к папке конфигурации
ms: Laluan folder konfigurasi
pt-br: Caminho da pasta de configuração
required: true
type: text
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
labelEn: Time zone
labelZh: 时区
label:
en: Time zone
zh: 时区
zh-Hant: 時區
ja: タイムゾーン
ko: 시간대
ru: Часовой пояс
ms: Zon waktu
pt-br: Fuso horário
required: true
type: text
- default: linuxserver-change-me
edit: true
envKey: PASSWORD
labelEn: Results database password
labelZh: 结果数据库密码
label:
en: Results database password
zh: 结果数据库密码
zh-Hant: 結果資料庫密碼
ja: 結果データベースのパスワード
ko: 결과 데이터베이스 비밀번호
ru: Пароль базы данных результатов
ms: Kata laluan pangkalan data keputusan
pt-br: Senha do banco de dados de resultados
random: true
required: true
rule: paramComplexity
type: password
- default: "false"
edit: true
envKey: CUSTOM_RESULTS
labelEn: Custom results page
labelZh: 自定义结果页
label:
en: Custom results page
zh: 自定义结果页
zh-Hant: 自訂結果頁
ja: カスタム結果ページ
ko: 사용자 지정 결과 페이지
ru: Пользовательская страница результатов
ms: Halaman keputusan tersuai
pt-br: Pagina de resultados personalizada
required: true
type: select
values:
- label: "false"
value: "false"
- label: "true"
value: "true"
- default: ""
edit: true
envKey: IPINFO_APIKEY
labelEn: IPInfo access token
labelZh: IPInfo 访问令牌
label:
en: IPInfo access token
zh: IPInfo 访问令牌
zh-Hant: IPInfo 存取權杖
ja: IPInfo アクセストークン
ko: IPInfo 액세스 토큰
ru: Токен доступа IPInfo
ms: Token akses IPInfo
pt-br: Token de acesso IPInfo
required: false
type: password
@@ -0,0 +1,25 @@
networks:
1panel-network:
external: true
services:
librespeed:
image: "linuxserver/librespeed:latest"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:80"
volumes:
- "${CONFIG_PATH}:/config"
environment:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- PASSWORD=${PASSWORD}
- CUSTOM_RESULTS=${CUSTOM_RESULTS}
- DB_TYPE=sqlite
- IPINFO_APIKEY=${IPINFO_APIKEY:-}
labels:
createdBy: "Apps"
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -euo pipefail
paths=(
"${CONFIG_PATH:-./data/config}"
)
mkdir -p "${paths[@]}"
for path in "${paths[@]}"; do
case "$path" in
./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;;
esac
done
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
docker-compose down --volumes
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB