Speedtest-Tracker: Continuously track your internet speed

Today, I'm presenting to you an interesting project from henrywhitaker3 on GitHub called Speedtest-Tracker. In few words, this is a self-hosted and always-on speed test solution.

Speedtest-Tracker: Continuously track your internet speed

Today, I'm presenting to you an interesting project from henrywhitaker3 on GitHub called Speedtest-Tracker. In few words, this is a self-hosted and always-on speed test solution.

Thanks to Speedtest-Tracker, you can easily identify and get alerted when you internet connection is experiencing issues

It uses Ookla's Speedtest cli to exectue the speedtest and uses Chart.js to display awesome charts with the results. The application is developed with Laravel for the back-end and the front-end uses React.

Installation

Speedtest-Tracker is a Docker image, so we will use docker-compose as usual. Like TheLounge, the file is straight-forward, you need to map your configuration folder and that's it.
Please note the environment variable OOKLA_EULA_GDPR=true which is mandatory to accept Ookla's EULA and privacy agreements in order to use this container.

version: '3'
services:
  speedtest:
    container_name: speedtest-tracker
    image: henrywhitaker3/speedtest-tracker:latest
    restart: unless-stopped
    ports:
      - 8765:80
    volumes:
      - ./config:/config
    environment:
      - TZ=Europe/Zurich
      - PUID=1026
      - PGID=100
      - OOKLA_EULA_GDPR=true
    logging:
      driver: "json-file"
      options:
        max-file: "10"
        max-size: "200k"
speedtracker/docker-compose.yml

Features

  • It runs a speedtest automatically every hour
  • Charts to see the history of your speedtests
  • Backup/restore any data in JSON or CSV format
  • Notifications through Slack, Discord or Telegram
  • Organizr integration
  • healthchecks.io integration
  • InfluxDB integration (currently v1 only, v2 is a WIP)

It doesn't work?

Some users have reported issues to accept the Ookla's EULA and privacy agreements. If you can't get any speedtest results, try this:

  1. Execute docker exec -it speedtest-tracker bash to get into the container
  2. Run php /config/www/artisan speedtest:eula to force the acceptation
  3. Restart your container with docker restart speedtest-tracker
Looking for help?
If you are looking for some help or want a quick chat, please head over to the Discord Community!