Mastodon Skip to main content

Setting up Speedtest-Tracker

 

I've shown you several different open source, and self hosted, speedtest applications over the years.  I showed you one called Docker Sppedtest Grafana a couple of years ago, but recently the install doesn't work as expected for me anymore, and I've heard similar reports from others who've tried it as well. So, I started looking for another option, and found Sppedtest Tracker by    over on Github.  I've used it for about 6 months, and it's been very useful, but again it's gone unmaintained for over a year now.  Luckily, another person picked it up and continued the project by forking it, and enhancing it quite a bit.  So today we'll be looking at Speedtest Tracker by  over at Github. 

What You'll Need

  • Docker-CE and Docker-Compose installed on the server / machine you want to use for running speed tests.
    • it's better to run them from a wired connection if at all possible.
  • (Optional) If you want to setup a domain name for your Speed Test web interface, you'll want a reverse proxy (I use NginX Proxy Manger)
  • (Optional) SMTP Details for an Email Server if you want email notifications of speed test data
  • About 30 minutes of your time

Installation Docker and Docker-Compose via a Simple Script

You can easily install Docker-CE, Docker-Compose, Portainer-CE, and NGinX Proxy manager by using this quick install script I created and maintain on Github.  Just use the command:

wget https://gitlab.com/bmcgonag/docker_installs/-/raw/main/install_docker_nproxyman.sh

To download the script to your desired host.

Change the permissions to make the script executable:

chmod +x ./install_docker_nproxyman.sh

and then run the script with the command:

./install_docker_nproxyman.sh

When run, the script will prompt you to select your host operating system, then will ask you which bits of software you want to install.

Simply enter 'y' for each thing you want to install.

At some point, you may be asked for your super user (sudo) password as well.

Allow the script to complete installation.

At this point, you might want to log out and back in, as this will allow you to use the docker and docker-compose commands without the need of sudo in front of them.

Installing Speedtest Tracker

SSH to your chosen machine, or if you can sit in front of it, and access the terminal / command line, then do that.  Once connected, I like to create a folder structure that allows me to backup my docker applications easily.  I put everything inside a parent "docker" folder.  So, we'll make sure we put our application folder "speedtest-tracker" into our docker folder. If you don't have a "docker" folder already, don't worry, we'll create both with 1 command.

mkdir -p docker/speedtest-tracker

This command will create the folders that don't exist already, but will not duplicate them if they do.

Once we've created this structure, we'll move into the 'speedtest-tracker' folder, and create our 'docker-compose.yml' file.

cd docker/speedtest-tracker

nano docker-compose.yml

Once you've opened the new 'docker-compose.yml' file, you'll want to copy and paste the following yaml code into it.  You'll need to make some value updates based on your system needs. I'm going to put two versions of the yaml code below.  The first version will be to run the application without email.  The second will be to run it with email sending functions, and for it you'll need the SMTP server information for your email.

version: '3.3'
services:
   speedtest-tracker:
       container_name: speedtest-tracker
       ports:
           - '8982:80'
           - '8943:443'
       environment:
           - PUID=1000
           - PGID=1000
       volumes:
           - './config:/config'
       image: 'ghcr.io/alexjustesen/speedtest-tracker:latest'
       restart: unless-stopped