Automated check using Aussie Broadband's Speed Test utility.
The primary purpose of this very simple script is to run and record speed test results on a schedule using any old spare computer or Raspberry Pi.
A remote Selenium Firefox webdriver is used to run the speed test and collect results.
Results are collected into an InfluxDB instance. Data collected includes:
- Download speed in
kbps - Upload speed in
kbps - Ping time in
ms
The remote webdriver and InfluxDB are provided as Docker Compose services.
docker compose up -dThe InfluxDB UI can be accessed at http://localhost:8086 using credentials
- Username:
speedtest - Password:
speedtest
Note: Credentials and other configuration is done via environment variables in docker-compose.yml.
| Name | Description | Default value |
|---|---|---|
BROWSER_URL |
Location of the remote Firefox webdriver | http://localhost:4444 |
DB_URL |
Location of the InfluxDB | http://localhost:8086 |
DB_AUTH_TOKEN |
InfluxDB auth token | speedtest-admin-token |
DB_ORG |
InfluxDB organisation | speedtest |
DB_BUCKET |
InfluxDB bucket for speedtest results | speedtest |
TIMEOUT |
Max wait time (seconds) for results to appear | 120 |
Install dependencies...
pip install -r requirements.txtand run...
python speed-test.pyAlternately, run the application via Docker Compose
docker compose run app