Know what your internet really delivers.
Run periodic internet speed test, store, display results with builtin web server.
Source, issues and prebuilt executables for bare metal: github.com/gatispei/speedketchup
docker volume create speedketchup
docker run -p 8080:8080 -v speedketchup:/data mikrotik/speedketchup
Then open http://localhost:8080. Results are kept in the /data volume as
human readable csv.
FROM scratch: one layer holding the statically linked binary and an empty
/data, nothing else. No shell, no libc, no base container image underneath, around
230k compressed.
Built for linux/amd64, linux/arm64/v8 and linux/arm/v7.
Every option is an environment variable, and the command line overrides it. Defaults are the values the container image ships with.
| variable | default | what it does |
|---|---|---|
SPEEDKETCHUP_INTERVAL | 10 | test interval in minutes |
SPEEDKETCHUP_FILE | /data/speedketchup-results.csv | file to store test results in |
SPEEDKETCHUP_ADDRESS | 0.0.0.0 | address to listen on |
SPEEDKETCHUP_PORT | 8080 | port to listen on |
SPEEDKETCHUP_SERVER | speedtest server to use, empty selects automatically | |
SPEEDKETCHUP_DOWNLOAD_DURATION | 10 | how long to test download speed, 0 disables |
SPEEDKETCHUP_UPLOAD_DURATION | 10 | how long to test upload speed, 0 disables |
SPEEDKETCHUP_DOWNLOAD_CONNECTIONS | 8 | parallel connections for download |
SPEEDKETCHUP_UPLOAD_CONNECTIONS | 8 | parallel connections for upload |
SPEEDKETCHUP_INFLUX_URL | InfluxDB line protocol write url to also write every result to, http only, eg http://influxdb:8086/api/v2/write?org=home&bucket=speedketchup | |
SPEEDKETCHUP_INFLUX_TOKEN | token for the influx url, sent as Authorization: Token <token> | |
SPEEDKETCHUP_MQTT | mqtt broker host[:port] to also publish every result to, with Home Assistant discovery, plain mqtt only, port 1883 by default | |
SPEEDKETCHUP_MQTT_USER | user name for the mqtt broker | |
SPEEDKETCHUP_MQTT_PASSWORD | password for the mqtt broker | |
SPEEDKETCHUP_NAME | name of the test profile | |
SPEEDKETCHUP_INTERFACE | network interface to test over | |
SPEEDKETCHUP_SRC_ADDR | source address to test from | |
SPEEDKETCHUP_DSCP | dscp value 0-63 of the test traffic, for the router to pick a wan by | |
SPEEDKETCHUP_ALLOW_OVERLAPPING_TESTS | no | run the tests of different profiles at the same time |
Several test profiles, eg one for every wan of a dual-wan router, are given as
comma separated values of the name, interval, server, duration, connections,
interface, source address and dscp settings, one for every profile, an empty one
is the default, a single value is for all of them, eg SPEEDKETCHUP_NAME=wan1,wan2
and SPEEDKETCHUP_DSCP=10,20.
docker run -p 8080:8080 -v speedketchup:/data -e SPEEDKETCHUP_INTERVAL=30 mikrotik/speedketchup
/metrics: download and upload speed, idle and loaded latency, server and isp, test and failure countsContent type
Image
Digest
sha256:0434d9af0…
Size
252.1 kB
Last updated
about 11 hours ago
docker pull mikrotik/speedketchup