Menu
in , , , ,

Build Your Own Internet Speed Test Server Using Docker and Open Source Speedtest Tool

Building your own internet Speed Test server with the most brilliant, lite weight, secure, and free Open Source tool the Open Speed Test.

The Open Speed Test user interface is web-based developed using HTML5, and no need to run heavy JavaScript, or unsecured Flash Scripts at the client-side. and can measure the Download, Upload, Jitter, and Ping Speed.

speed test open speedtest result

We can follow the next instructions to build our Speed test server in a simple and easy way using Docker.

Install Speed Test Server

Install Docker For Windows

You can follow this guide to install docker on Microsoft Windows The Best Way to Install Docker Desktop On Windows As A Professional.

Install Docker For Linux

And to install Docker on Linux (Ubuntu), you can follow the next 2 steps:

1- Setup Repository and GPG

# apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2- Install Docker Engine

# apt-get update
# apt-get install docker-ce docker-ce-cli containerd.io

Install Docker For MacOS

And If you using Mac OS

Download Docker Desktop Docker.dmg file From Here.

Note: When downloading the Docker.dmg file You will need to select file That suitable to your Mac Chip type, If its Intel Or Apple Silicon


To Check your Chip Type please see:

  1. From the menu bar click the Apple logo.
  2. Then Click About This Mac.
  3. Check Chip Type as shown

After Downloading the Docker.dmg file complete, Double-click it to open the installer, then drag the Docker icon to the Applications folder.

Download And Run The Open Speed Test

Download the latest OpenSpeedTest Docker image, build it, and run the container in the detached mode, with external port 3000 for HTTP and 3001 for HTTPS access.

# docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest

The output will be similar to the following.

root@localhost:~# docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest
Unable to find image 'openspeedtest/latest:latest' locally
latest: Pulling from openspeedtest/latest
97518928ae5f: Pull complete
d61383a18cbc: Pull complete
691cc14c5437: Pull complete
052722e881c1: Pull complete
15b060c51243: Pull complete
913152e2c694: Pull complete
ec9c71cb0523: Pull complete
ec7fd5495fa5: Pull complete
ee6d65285712: Pull complete
fbc4881aa6ff: Pull complete
4249cca95423: Pull complete
6f6cff834a66: Pull complete
64a00ea1bd70: Pull complete
b4c8880d3885: Pull complete
c6078adf07fd: Pull complete
10466dfde476: Pull complete
Digest: sha256:fba72a00e767e5bd797755f208195c379e07c6898da3daf9ffa134f0281a033a
Status: Downloaded newer image for openspeedtest/latest:latest
20a15b4c66d67eaa7ff3485f3c8515bae42aa2f1d04f0cf9d2890438c42f80ed

In your web browser, you can access your server as http://serveripaddress:3000 or  https://serveripaddress:3001

Of course, you can use ports 80, and 443 but for best practice, use Nginx as a reverse proxy of your Speed Test server by following How to Configure Nginx as a reverse-proxy (lab II).

You can check Everything you need to know about internet speeds out for more information and answers about internet speed, how are internet speeds measured? What is internet speed and why does it matter?, How to pick an internet plan? How much bandwidth do you need? ,  And Internet speed glossary and terms.

Leave a Reply

Exit mobile version