jwigley / docker-smokeping-speedtest

Docker image containing smokeping with speedtest-cli and smokeping-speedtest probe
GNU General Public License v3.0
15 stars 7 forks source link
docker smokeping speedtest

docker-smokeping-speedtest

GitHub Workflow Status GitHub Workflow Status Docker Image Size (tag) Docker Pulls

Smokeping docker image with smokeping-speedtest probe and speedtest-cli, built upon linuxserver's docker-smokeping image.

docker repositories

jwigley/smokeping-speedtest (docker hub)

ghcr.io/jwigley/smokeping-speedtest (github)

usage

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.

ssh probe

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

credits

This docker image just pieces the bits together. The real work is all done by: