← Back to all sparks
L

LibreSpeed

INFRA · APIS
Velocity2.5

Self-hosted network speed test

After a two-year redesign, LibreSpeed is adding tests instead of polishing pixels.

self-hostedspeed-testfrontend-redesigndockerpwa
Current state
LibreSpeed is a self-hosted speed test that spent roughly two years landing a new frontend design, shipped it behind a feature switch, then promoted it to default in 6.0.0. With that out of the way, 6.2.0 turns to capability: a standalone connection-stability test with live latency charting, packet-loss tracking, alerts and CSV export, plus PWA metadata so the tool can be installed from a browser. Docker deployment has been reworked in parallel, including a port change and PHP limits that were silently rejecting default upload chunks.
Where it's heading
The redesign was the blocker; now that it is default, releases are moving outward — a second measurement mode, installability, better multi-server list handling. The Docker thread runs alongside and is where the breaking changes live: default port moved from 80 to 8080 in preparation for rootless operation, post_max_size raised to accept the tool's own 20 MiB chunks, Alpine base updated. Much of the recent throughput comes from outside contributors and automated agents rather than a single maintainer.
Prediction
Expect the stability test to gain the configuration and server-side plumbing the main speed test already has, and the rootless-container work that the port change was preparation for to land next. Nothing in the entries suggests a change to the project's self-hosted, no-backend-dependency positioning.

Recent moves

  1. 15d ago

    Standalone connection-stability test and installable PWA support

    The first release to add a second measurement mode rather than refine the first: a standalone stability test with live latency charting, packet-loss tracking, alerts and CSV export. PWA metadata makes it installable, and the Docker fix raising post_max_size to 32M finally lets images accept the project's own default 20 MiB upload chunks.

    View source ↗
  2. 3mo ago

    Bugfix on classic design

    A single cherry-picked revert backing out server-list.json as the classic frontend's default. Immediate cleanup after the 6.0.0 promotion, affecting only the legacy design.

    View source ↗
  3. 3mo ago

    New design is main now

    The two-year redesign becomes the default frontend, closing the project's longest-running thread. The supporting fixes are unglamorous but telling — a PHP version check for geoip2.phar and IPv6 client address reporting through cloudflared — the deployment realities of a tool that mostly runs behind someone else's proxy.

    View source ↗
  4. 6mo ago

    Hotfix for SQLite database matching in the Docker entrypoint

    A two-commit hotfix correcting SQLite database matching in the Docker entrypoint. Part of the steady Docker-deployment maintenance that runs underneath the frontend work.

    View source ↗
  5. 7mo ago

    Pre-release puts the new design behind a feature switch

    The pre-release that made the new design reachable via a URL parameter or config switch before it became default, alongside a reworked Docker deployment and a GDPR_EMAIL environment variable. Superseded by 6.0.0 months later, so read it as a staging step rather than a release.

    View source ↗
  6. 7mo ago

    Final 5.x release moves the Docker port to 8080

    Explicitly framed as the last 5.x release, and it carries a breaking change: the container's default port moves from 80 to 8080 to prepare for rootless operation. The rest is contributor throughput — Alpine images, modern JS, dark styling, MariaDB documentation — the accumulated backlog being cleared before the 6.0 line opens.

    View source ↗