Have you ever experienced frustratingly slow internet speeds without a clear cause? Or wanted a robust tool for long-term network performance tracking? MySpeed offers a solution by combining instant speed tests with continuous monitoring capabilities. This article walks through its features, installation, and usage.
What is MySpeed?
MySpeed is an open-source tool designed for network speed testing and persistent monitoring. It measures current bandwidth and records performance over time, presenting results in visual charts. Whether you're a network professional or a casual user, MySpeed adapts to you're needs.
It supports multiple speed test backends: Ookla, LibreSpeed, and Cloudflare. Users can select their preferred server based on location or reliability.
- Official website: https://myspeed.dev/
- GitHub repository: https://github.com/gnmyt/myspeed
Key Features
- Generates clear statistics for speed, ping, and other metrics
- Automates speed tests using cron expressions for scheduling intervals
- Supports multiple servers within a single MySpeed instance
- Configures health checks to send aleerts via email, Signal, WhatsApp, or Telegram on errors or outages
- Stores test results for up to 30 days
- Integrates with Prometheus and Grafana for advanced monitoring
- Offers choice between Ookla, LibreSpeed, and Cloudflare test servers
Why Choose MySpeed?
- Open-source and free: No licensing costs; customize as needed.
- Comprehensive functionality: Speed testing, long-term monitoring, and data visualization.
- User-friendly interface: Intuitive design suitable for non-technical users.
- Privacy-focused: All data stored locally on your device.
Installation with Docker
MySpeed is built with Node.js, but the Docker image simplifies deployment. Ensure Docker is installed on your system before proceeding.
Step 1: Pull the Image
$ docker pull germannewsmaker/myspeed:latest
Step 2: Run the Container
$ docker run -d -p 5216:5216 -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
Explanation of flags:
-d: Run container in detached mode-p 5216:5216: Map host port 5216 to container port 5216-v myspeed:/myspeed/data: Create a Docker volume for persistent data storage--name MySpeed: Asssign a name to the container
Step 3: Verify Installation
Open http://localhost:5216 in your browser. The MySpeed interface should appear.
Updating MySpeed
$ docker run -d -p 5216:5216 --pull always -v myspeed:/myspeed/data --restart=unless-stopped --name MySpeed germannewsmaker/myspeed
The --pull always flag ensures Docker attempts to update the image on each start.
Using MySpeed
Access the Web Interface
Navigate to http://localhost:5216 to reach the dashboard.
Run a Speed Test
- On the homepage, click the prominent "Start Test" button.
- MySpeed will measure download and upload speeds.
- Results appear as charts and numerical values.
View Historical Data
- Go to Settings > Switch View from the top navigation bar.
- A graph shows speed trends over time.
- Filter by recent 7 days, 30 days, or custom range.
Schedule Automatic Tests
- Navigate to Settings > Interval Settings.
- Set test frequency (e.g., every hour).
- Save the configuration. MySpeed will handle periodic tests automatically.
Export Data
- In Storage Management, click Export Data.
- Choose format (CSV or JSON).
- Select time range.
- Download the file for external analysis.