Go to file
2020-04-08 13:57:26 +01:00
2020-04-08 19:57:37 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 19:57:37 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00
2020-04-08 15:35:07 +01:00
2020-04-08 15:35:07 +01:00
2020-04-08 13:57:26 +01:00
2020-04-09 19:37:13 +00:00
2020-04-08 13:57:26 +01:00
2020-04-08 13:57:26 +01:00

Speedtest Tracker

This program runs a speedtest check every hour and graphs the results. The back-end is written in Laravel and the front-end uses React. It uses the speedtest-cli package to get the data and uses Chart.js to plot the results.

speedtest

Installation & Setup

Using Docker

A docker image is available here

When updating to a new version of the docker image, use the built-in backup function before updating, and then restore your data after updating.

Manual Install

Installing Dependencies

This program has some dependencies, to install them you need to run the following:

sudo apt update
sudo apt update
sudo apt install php-common php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php-xml php-sqlite3 composer python3 python3-pip git
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install nodejs
sudo pip3 install speedtest-cli

Then, download the code by running:

git clone https://github.com/henrywhitaker3/Speedtest-Tracker.git

Install the composer and npm dependencies:

composer install
npm install && npm run production

Setting up the database

Run the following to set your database variables:

cp .env.example .env

Then update the DB_DATABASE value with the absolute path of your install, followed by /database/speed.db.

Finally, run the following to setup the tables in the database:

php artisan key:generate
php artisan migrate

Now run the following to make sure everything has been setup properly (it should output a speedtest result):

php artisan speedtest:run

Scheduling Setup

To get speed test results every hour, you need to add a cronjob, run sudo crontab -e and add an entry with the following (with the path you your install):

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Queue Setup

sudo apt install supervisor
sudo vim /etc/supervisor/conf.d/laravel-worker.conf

Add the following, updating the command and user values:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/project/artisan queue:work
autostart=true
autorestart=true
user=<user>
numprocs=8
redirect_stderr=true

Then run:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl restart all
Description
No description provided
Readme GPL-3.0 130 MiB
Languages
JavaScript 89.7%
PHP 5.5%
CSS 4%
HTML 0.8%