docs: update speedtest setup instructions for native engine

This commit is contained in:
Amir
2025-12-29 14:52:46 -03:00
parent 3b1b853b14
commit 7edf85718b

View File

@@ -6,20 +6,30 @@ A plugin allowing for executing regular internet speed tests.
This plugin supports two engines:
1. **Baseline Engine**: Uses the Python `speedtest-cli` library (default).
2. **Native Engine (Optimized)**: Uses the native Ookla Speedtest binary.
2. **Native Engine (Optimized)**: Uses the official native Ookla Speedtest binary.
#### Opt-in for Native Engine
To use the native engine:
- Provide the native `speedtest` binary in your environment: [Speedtest CLI Homepage](https://www.speedtest.net/apps/cli)
- Map the binary to `/usr/bin/speedtest` in the container.
- **Ensure the native speedtest binary is installed on the host at the source path.**
To use the native engine, you must provide the official binary to the container. The native binary is **strongly recommended** for internet connections > 100 Mbps to ensure CPU bottlenecks don't affect your results.
**Setup Instructions:**
1. **Download:** Get the official binary for your architecture from the [Speedtest CLI Homepage](https://www.speedtest.net/apps/cli).
2. **Place & Prepare:** Place the binary on your host machine (e.g., in `/opt/netalertx/`) and ensure it has executable permissions:
```bash
chmod +x /opt/netalertx/speedtest
```
3. Docker Mapping: Map the host file to exactly `/usr/bin/speedtest` inside the container via your `docker-compose.yml`:
```yaml
volumes:
- /usr/bin/speedtest:/usr/bin/speedtest:ro
services:
netalertx:
volumes:
- /opt/netalertx/speedtest:/usr/bin/speedtest:ro
```
- The plugin will automatically detect and use it for subsequent tests.
### Why this mapping?
Inside the container, a Python version of speedtest often exists in the virtual environment (`/opt/venv/bin/speedtest`). Mapping your native binary specifically to `/usr/bin/speedtest` allows the plugin to prioritize the high-performance native engine over the baseline library.
### Data Mapping
@@ -30,4 +40,4 @@ volumes:
### Notes
- The native binary is recommended for connections > 100 Mbps.
- If the native binary is not detected, the plugin seamlessly falls back to the baseline library.
- If the native binary is not detected at /usr/bin/speedtest, or if it fails to execute, the plugin will seamlessly fall back to the baseline Python library.