Smokeping keeps track of your network latency. For a full example of what this application is capable of visit UCDavis. The Smokeping Docker image includes the latest version of Smokeping, speedtest-cli and PhantomJS.
TL;DR - Features
- Latest version of Smokeping (https://github.com/oetiker/SmokePing)
- Speedtest probe (https://github.com/mad-ady/smokeping-speedtest / https://github.com/sivel/speedtest-cli)
- PhantomJS (http://phantomjs.org/)
- Working configuration for DNS, Speedtest and web-site probes
[smokeurl] [smokeurl]: http://oss.oetiker.ch/smokeping/
docker create \ --name smokeping \ -p 9500:80 \ -e PUID=<UID> -e PGID=<GID> \ -e TZ=<timezone> \ -v <path/to/smokeping/data>:/data \ -v <path/to/smokeping/config>:/config \ magicdude4eva/smokeping
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container. So -p 9500:80 would expose port 80 from inside the container to be accessible from the host's IP on port 9500 http://192.168.x.x:9500 would show you what's running INSIDE the container on port 80.
-p 80- the port for the webUI
-v /data- Storage location for db and application data (graphs etc)
-v /config- Configure the
-e PGIDfor for GroupID - see below for explanation
-e PUIDfor for UserID - see below for explanation
-e TZfor timezone setting, eg Africa/Johannesburg
This container is based on phusion/baseimage and includes the latest build of PhantomJS. For shell access whilst the container is running do
docker exec -it smokeping /bin/bash.
User / Group Identifiers
Sometimes when using data volumes (
-v flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user
PUID and group
PGID. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" TM.
In this instance
PGID=1001. To find yours use
id user as below:
$ id dockeruser uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
Setting up the application
Once running the URL will be
Basics are, edit the Targets file to ping the hosts you're interested in to match the format found there. Wait 10 minutes.
- To monitor the logs of the container in realtime
docker logs -f smokeping.
- 09.12.16: First release.
Donations are always welcome
If this helped you in any way, you can always leave me a tip at
(Ripple) rPz4YgyxPpk7xqQQ9P7CqNFvK17nhBdfoy (BTC) 1Mhq9SY6DzPhs7PNDx7idXFDWsGtyn7GWM (ETH) 0xb0f2d091dcdd036cd26017bb0fbd6c1488fc8d04 (LTC) LTfP7yJSpGFvuPqjSEKaqcjue6KSA9118y (XVG) D5nBpFBaD6vmVJ5CBUhkz8E4SNWscf6pMu (BNB) 0xb0f2d091dcdd036cd26017bb0fbd6c1488fc8d04
If you are poor, follow me at least on Twitter!