We all use some ISP, and our internet speed can vary depending on our chosen plan. Unfortunately, sometimes, we’ve all faced situations where our internet speed was slower than usual.
In such situations, it’s really useful to have a tool that automatically checks and records our internet speed regularly. This way, we can look back and see when our internet was working fine, and there were issues.
Enter MySpeed, versatile, free & open-source speed test analysis software with features for effectively monitoring and analyzing your internet speed.
What is MySpeed?
MySpeed is a self-hosted application designed to record and analyze your internet connection speeds for up to 30 days. It allows users to set up automated internet speed tests that provide detailed insights into their network’s performance, visualized in a pleasant, user-friendly web-based interface.
The app has the following key features:
Automated Speed Tests
MySpeed automates the speed testing process using Cron expressions, allowing users to configure the frequency of tests according to their specific needs.
This feature ensures that all data is up-to-date, reflects current network conditions without requiring manual input, and generates detailed statistics covering metrics such as speed, ping, and other relevant data points.
Multiple Server Support
Users can add multiple speed test servers to their MySpeed instance. This flexibility enables testing across different servers to provide a broader overview of internet speed across various networks.
Health Checks and Notifications
MySpeed includes a feature to configure health checks that alert the user via email, Signal, WhatsApp, or Telegram if there are any disruptions or significant drops in service quality. This proactive feature helps maintain optimal performance and facilitates immediate troubleshooting.
Integration with Prometheus and Grafana
My favorite feature! MySpeed supports integration with Prometheus and Grafana for users requiring advanced monitoring and data visualization. This compatibility allows for in-depth analysis and visual representation of your network’s speed data over time.
The Prometheus metrics scraping API is available at “/api/prometheus/metrics“.
Choice of Speed Test Servers
The app is compatible with various speed test servers like Ookla, LibreSpeed, and Cloudflare. Thus, users can choose the server best suits their geographic or operational preferences.
MySpeed: Installation and Usage
MySpeed can be installed in different ways, but the easiest and recommended method is through Docker. First, make sure Docker is running on your system. Then, simply run the following command:
docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
Code language: Bash (bash)
If you prefer the Docker Compose approach, here’s what your “docker-compose.yml” file should contain.
services:
app:
container_name: MySpeed
image: 'germannewsmaker/myspeed'
restart: unless-stopped
ports:
- '5216:5216'
volumes:
- data:/myspeed/data
volumes:
data:
Code language: Dockerfile (dockerfile)
Finally, run the deployment:
docker compose up -d
Code language: Bash (bash)
Point your browser to “http://<server-ip-address>:5216,” and the MySpeed welcome screen will greet you.
Follow the four simple setup steps in the app, adjusting the settings to your liking. After that, you can enjoy a convenient tool at your fingertips to quickly review your internet speed history.
For more information, visit the project’s website or its GitHub page. Additionally, the documentation for MySpeed is at this link.
In closing, if you consider your service to be accessed via the internet, ensure it’s available via a secure HTTPS connection. You can do this by putting the MySpeed app behind a reverse proxy like Nginx, Nginx Proxy Manager, Caddy, Traefik, HAProxy, or any other option you prefer.