Smokeping docker image with smokeping-speedtest probe and speedtest-cli, built upon linuxserver's docker-smokeping image.
jwigley/smokeping-speedtest (docker hub)
ghcr.io/jwigley/smokeping-speedtest (github)
docker run \
-d \
--name=smokeping-speedtest \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 80:80 \
-v /path/to/smokeping/config:/config \
-v /path/to/smokeping/data:/data \
--restart unless-stopped \
jwigley/smokeping-speedtest
The default speedtest configuration will poll downloads/uploads every hour to your closest speedtest.net server. Results are displayed under the 'Speed Tests' menu in Smokeping. This can be modified by via the Probes and Targets config files as per the instructions at https://github.com/mad-ady/smokeping-speedtest.
The default configuration runs speed tests with the official Ookla speedtest cli tool. The tool requires you to accept a license on first use. Alternatively you can add the --accept-license
flag to the extraargs
parameter in your Probes config.
Smokeping-speedtest can also be configured to use Sivel's speedtest-cli tool. See the example config in your Targets config file. For best performance and reliable test results, it is recommended to use the official Ookla cli tool for testing internet speeds greater than 100Mbps.
This image also contains a working version of the SSH Probe, which is currently broken in the underlying linuxserver image.
If you add an SSH probe to your configuration, you must also set the SSH_PROBE_INIT_TARGET
environment variable to a valid host running SSH. During initialisation, the probe will ask the target for its public key and verify it can parse the output.
eg.
docker run \
-d \
--name=smokeping-speedtest \
-e SSH_PROBE_INIT_TARGET=my.host \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 80:80 \
-v /path/to/smokeping/config:/config \
-v /path/to/smokeping/data:/data \
--restart unless-stopped \
jwigley/smokeping-speedtest
This docker image just pieces the bits together. The real work is all done by: