LibreSpeed
LibreSpeed is a lightweight self-hosted speed test page.
Platform availability
Available on 4 of 9 platforms
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
85/100 Excellent
- Maintained
- 100last commit 16 days ago
- Popular
- 8415,216 GitHub stars
- Easy to install
- 553 install platforms, install notes, Docker image
- Light to run
- 85512 MB minimum RAM
Availability: platform listings confirmed today, links checked 15 days ago
- GitHub stars
- 15,216
- Open issues
- 14
- Last commit
- 2026-09-27
- Latest release
- v6.3.0
- License
- LGPL-3.0
- Activity
- declining
Checked 6 days ago - source: GitHub (librespeed/speedtest)
Resources & Compatibility
Minimum requirements: 512 MB RAM, 1 CPU core(s), 5 GB disk.
Checked 14 days ago - source: Docker Hub image tags and published docs
First-install notes
- Install the web-server packages first On the CentOS guide, run the package install step to add git, httpd (the web server), and PHP with JSON support. If you skip this, LibreSpeed won't have the basic web server and script pieces it needs to run. source
- Start and enable the database If you want LibreSpeed to save results, install MySQL, then start it and enable it to start automatically. If the database service is off or disabled, saving test results can fail and it may not survive a reboot. source
- Start the Node.js server If you're using the Node.js version, install its dependencies first, then start it with `node Speedtest.js`. Without the dependencies, the server won't start and the speed test won't work. source
- Serve LibreSpeed directly on the local network Do not place LibreSpeed behind a reverse proxy, because proxy processing can affect measurement accuracy. Serve it directly on the local network when testing real client performance. source
Fetched 10 days ago - each note links to its source
Variants
Alternatives (5)
- OpenSpeedTest - OpenSpeedTest is a self-hosted HTML5 tool for measuring home or office network speed between your devices and a local server in any modern…
- Orb.net
- Speedtest by Ookla - Measures download, upload, and ping speeds; offers global server testing, real-time connection graphs, VPN options, carrier coverage maps,…
- nPerf - More than a simple speed test, nPerf brings you the best and the fullest mobile connection quality measurement tool up to 10 Gb/s speeds!
- speedtest-cli - A command line interface for testing internet bandwidth using Speedtest by Ookla
Checked 11 days ago - source: AlternativeTo
Common questions
Why does the download test return very low results?
Check that garbage.php and empty.php, or your replacements, are reachable. Open the browser Network tab before starting the test to verify the test files load.
Why does LibreSpeed show much lower speeds behind a reverse proxy?
Do not place LibreSpeed behind a reverse proxy because proxy processing can affect measurement accuracy. Serve it directly on the local network when testing real client performance.
What must be enabled for saved results to survive a reboot?
If you store test results in MySQL, start the database and enable it to start automatically. A disabled database service can make saving fail and may not survive a reboot.
Why won’t the Node.js version start?
Install the Node.js dependencies first, then start it with node Speedtest.js. Without the dependencies, the server will not start and the speed test will not work.
What does LibreSpeed store when telemetry is enabled?
It stores the test ID, time, results, IP address, ISP information, approximate location from IP, user agent and browser locale, and a test log. No personal information is disclosed to third parties, and deletion requires a test ID or IP address.
How do I switch between the classic and modern UI?
The root index.html redirects based on useNewDesign in config.json or URL overrides. You can also force the design with URL design override parameters.
Answers sourced from codeberg.org, github.com, github.com, github.com, librespeed.org
Community
- Almost 2x performance downgrade by enabling HTTPS : r/selfhosted - Reddit (reddit)
- Looking for a speed test : r/selfhosted - Reddit (reddit)
- r/selfhosted on Reddit: LibreSpeed: The Best Local Speed Test App. A ... (reddit)
- LibreSpeed - Free and Open Source Speedtest. No Flash, No Java ... - Reddit (reddit)
Collected 8 days ago - public community threads