Speedtest Tracker
This program runs a speedtest check every hour and graphs the results. The back-end is written in Laravel and the front-end uses React. It uses the SpeedTest++ package to get the data and uses Chart.js to plot the results.
Features
- Automatically run a speedtest every hour
- Graph of previous speedtests going back x days
- Backup/restore data in JSON/CSV format
- Slack/Discord notifications
- Organizr integration
Usage
docker create \
--name=speedtest \
-p 8765:80 \
-v /path/to/data:/config \
-e SLACK_WEBHOOK=webhook `#optional` \
-e PUID=uid `#optional` \
-e PGID=gid `#optional` \
--restart unless-stopped \
henrywhitaker3/speedtest-tracker
Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.
| Parameter | Function |
|---|---|
-p 8765:80 |
Exposes the webserver on port 8765 |
-v /config |
All the config files reside here. |
-e SLACK_WEBHOOK |
Optional. Put a slack webhook here to get slack notifications when a speedtest is run. To use discord webhooks, just append /slack to the end of your discord webhook URL |
-e PUID |
Optional. Supply a local user ID for volume permissions |
-e PGID |
Optional. Supply a local group ID for volume permissions |
Getting the Image
To get the base image, you have 2 options:
- Use the pre-built image on dockerhub
- Build the image yourself
Pre-built Image
Run docker pull henrywhitaker3/speedtest-tracker
Dockerfile
Clone the required files from the github repo here making sure to use the docker branch of the repo.
Build the image from the docker file by running (within the cloned git repo):
docker build . -f Dockerfile --tag=henrywhitaker3/speedtest-tracker:<tag>
