# LibreSpeed

Self-hosted network speed test that runs in the browser.

- Replaces: [Speedtest by Ookla](https://openlogs.fyi/alternatives/speedtest-by-ookla)
- Summary: Paid speed test services, such as Speedtest by Ookla.
- Stack: JavaScript (language)
- Deployment: docker_compose
- License: LGPL-3.0 (osi) [source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/README.md), read 2026-10-22)
- Difficulty: easy. 1 service, 0 volume mounts, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Requirements: not stated
- Repository: [librespeed/speedtest](https://github.com/librespeed/speedtest)

## Install

1. Docker with the Compose plugin ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md#L26-L48))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the code block as docker-compose.yml ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md))

   ```yaml
   version: '3.7'
   services:
     speedtest:
       container_name: speedtest
       image: ghcr.io/librespeed/speedtest:latest
       restart: always
       environment:
         MODE: standalone
         #TITLE: "LibreSpeed"
         #TAGLINE: "No Flash, No Java, No Websockets, No Bullsh*t"
         #TELEMETRY: "false"
         #ENABLE_ID_OBFUSCATION: "false"
         #REDACT_IP_ADDRESSES: "false"
         #PASSWORD:
         #GDPR_EMAIL: "privacy@example.com"
         #DISABLE_IPINFO: "false"
         #IPINFO_APIKEY: "your api key"
         #DISTANCE: "km"
         #WEBPORT: 8080
       ports:
         - "80:8080" # webport mapping (host:container)
   ```

3. What the compose file check ran with ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md#L26-L48))

   ```text
   This compose file is copied unchanged from the code block in https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md#L26-L48. The check ran on that block alone. The Docker guide shows this docker-compose.yml configuration for running the speed test.
   ```

4. Start it ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md))

   ```bash
   docker compose up -d
   ```

5. Open the app ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md))

   ```text
   Open http://localhost:80. The compose file publishes host port 80 for the speedtest service. The guide says the test can be accessed on port 80.
   ```

Compose file check: config_ok on 2026-10-22.

## Gotchas and maintenance

### Gotchas

- Some images use the latest tag or no tag: Images without a pinned version: speedtest: ghcr.io/librespeed/speedtest:latest. A later pull can get a different version. ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md), checked 2026-10-22)
- The compose file publishes host ports: Host ports: 80 (speedtest). A port without a host address listens on all host network interfaces. ([source](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 15
- Stars: 15250, forks: 2516
- Last push: 2026-10-22 (0 days ago)
- Latest release: v6.3.1 on 2026-10-21 (1 days ago)

## Sources

- [Repository: https://github.com/librespeed/speedtest](https://github.com/librespeed/speedtest)
- [License: https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/LICENSE](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/LICENSE)
- [Business model: https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/README.md](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/README.md)
- [Compose file: https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md)
- [Install step: https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md#L26-L48](https://github.com/librespeed/speedtest/blob/4cf44ad6ac0618a201d5e2f14a9f30cbfcdab8cb/doc_docker.md#L26-L48)

---
Canonical: https://openlogs.fyi/tools/librespeed  
Last updated: 2026-10-22
