speedy
A very simplistic solution to track, monitor & analyze your internet speed & bandwidth.
About
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.
Table of Contents
(TOC generated by verb using markdown-toc)
Features
- Test the download & upload speed of your internet connection
- Save the results for historic analysis
- Ready to use dashboard to review the results
Installation
Prerequisites
- Docker (e.g. Docker for Mac or Docker for Windows)
Run it
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:
Configuration
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:
Reference Links
- Environment variables for InfluxDB: https://docs.influxdata.com/influxdb/v1.2/administration/config#environment-variables
Developing
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).
About
Author
Stefan Walther
Contributions
Contributions are always welcome. Just submit your PR.
License
MIT