A very simplistic solution to track, monitor & analyze your internet speed & bandwidth.
Your ISP promises great bandwidth and reliability to you, but you don't fully trust? Then speedy is the solutio for you. Get more insights what you actually get for the money you pay.
(TOC generated by verb using markdown-toc)
- Test the download & upload speed of your internet connection
- Save the results for historic analysis
- Ready to use dashboard to review the results
- Docker (e.g. Docker for Mac or Docker for Windows)
Fork the repository:
$ git clone https://github.com/stefanwalther/speedy
Then run from the root directory:
$ docker-compose -d up
This will essentially spin up three Docker containers:
- speedy - Tiny node.js service to run a speed-test periodically (based on speedtest-net.
- InfluxDB - Time series database to store the results from speedy, based on InfluxDB.
- Grafana - Pre-Configured Grafana instance to visualize the results.
Access the resulting dashboard at:
All configurations are stored in configuration.envconfiguration.env
.
-
speedy
- See here for more details
- Docker image:
stefanwalther/speedy
-
speedy_infuxdb
- Docker image:
stefanwalther/speedy_influxdb
- Docker image:
-
speedy_grafana
- Docker image:
stefanwalther/speedy_grafana
- Docker image:
- Environment variables for InfluxDB: https://docs.influxdata.com/influxdb/v1.2/administration/config#environment-variables
Run the development environment:
$ yarn dc-dev-up
The development differs as follows from the example above:
- Containers are build on demand (from the Dockerfiles)
- You can work on the source code in
./docker/speedy/src
and the solution will automatically get updated (using nodemon).
Stefan Walther
Contributions are always welcome. Just submit your PR.
MIT