Bumps [laravel/slack-notification-channel](https://github.com/laravel/slack-notification-channel) from 2.0.2 to 2.1.0. - [Release notes](https://github.com/laravel/slack-notification-channel/releases) - [Changelog](https://github.com/laravel/slack-notification-channel/blob/2.0/CHANGELOG.md) - [Commits](https://github.com/laravel/slack-notification-channel/compare/v2.0.2...v2.1.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
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.
Disclaimer: You will need to accept Ookla's EULA and privacy agreements in order to use this container.
Features
- Automatically run a speedtest every hour
- Graph of previous speedtests going back x days
- Backup/restore data in JSON/CSV format
- Slack/Discord/Telegram notifications
- Organizr integration
Installation & Setup
Using Docker
A docker image is available here, you can create a new conatiner by running:
docker create \
--name=speedtest \
-p 8765:80 \
-v /path/to/data:/config \
-e SLACK_WEBHOOK=webhook `#optional` \
-e PUID=uid `#optional` \
-e PGID=gid `#optional` \
-e OOKLA_EULA_GDPR=true \
--restart unless-stopped \
henrywhitaker3/speedtest-tracker
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 php-zip php-mbstring 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
