selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
speedtest-rust logo

Self-host speedtest-rust

v1.4.0

Rust backend for self-hosted LibreSpeed speed testing

ReleaseOpen SourceLGPL-3.0
Docker ComposeCompose file & guide
docker compose up -d
Updated2 months ago
LanguageRust
Setup difficultyModerate
Stars
252
Port
8080 (HTTP web interface)

What is speedtest-rust?

speedtest-rust is the Rust backend for LibreSpeed, a self-hosted speed test platform with no Flash, Java, or WebSocket dependencies. It provides download, upload, ping, and jitter measurements along with IP address and ISP detection using an offline ipinfo.io database. Optional features include telemetry collection and results sharing. The server runs on any Rust-supported platform and can use PostgreSQL or MySQL to store test results. Installation options include prebuilt binaries for multiple architectures, Debian packages, Docker Compose, and compiling from source with Rust 1.74+. The project includes a built-in web frontend and is compatible with LibreSpeed's web, CLI, Android, and desktop clients.

Should you self-host speedtest-rust?

speedtest-rust scores 45/100 on selfhost.directory (how scoring works) and ranks #35 of 48 in Network Monitoring. It has 252 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is LGPL-3.0-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is mitmproxy (86/100, 46 446 stars). It scores higher overall, so compare the two before you pick. See speedtest-rust vs mitmproxy side by side.

Features

  • Debian packages
  • Download Speed Test
  • In-memory database
  • IP address and ISP detection
  • Jitter measurement
  • Multiple architecture binaries
  • Ping measurement
  • Results SharingOptional feature
  • Systemd service integration
  • Telemetry collectionOptional feature
  • TLS Support
  • Upload Speed Test

speedtest-rust README

How to install speedtest-rust

Install speedtest-rust with Docker Compose

  • Install docker and docker-compose.
  • Clone the repository:
$ git clone https://github.com/librespeed/speedtest-rust.git
$ cd speedtest-rust
  • Copy the default config and assets:
$ cp docker-compose.override.sample.yml docker-compose.override.yml
$ sudo mkdir /var/lib/librespeed
$ sudo cp configs.toml /etc/librespeed.toml
$ sudo cp -r assets /var/lib/librespeed/assets
  • Edit the config files:
$ sudo chmod o-rwx /etc/librespeed.toml docker-compose.override.yml # Hide secrets
$ $EDITOR docker-compose.override.yml # Docker settings
$ sudo $EDITOR /etc/librespeed.toml # Librespeed settings
  • Start the container:
$ docker compose up -d
$ docker compose logs -f # To check status

Requires Docker and Docker Compose installed

How to configure speedtest-rust

  • assets_pathPath to the client folder for serving the web frontend

    Path to the client folder for serving the web frontend

  • configs.tomlMain configuration file for the server

    Main configuration file for the server

speedtest-rust releases & version history

More in Network Monitoring

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…