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 speedtests with the Sivel probe. If you'd like to use the offical Ookla speedtest instead, uncomment the Ookla section in your Targets config. The Ookla speedtest cli 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.
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: