mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-23 22:18:17 +01:00
Compare commits
23 Commits
feat/sort-
...
v1.12.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3955a2dad0 | ||
|
|
6905a5aac0 | ||
|
|
b3ba6a8b06 | ||
|
|
1e1a2c9b69 | ||
|
|
1c00beed86 | ||
|
|
603f618720 | ||
|
|
fa41bdd40d | ||
|
|
9d2f1858a0 | ||
|
|
6c6a12bb5f | ||
|
|
5885824c54 | ||
|
|
ea78415157 | ||
|
|
efecd28afb | ||
|
|
8d32d06768 | ||
|
|
8cb2e8a323 | ||
|
|
58e82dc9a8 | ||
|
|
0dff534dfd | ||
|
|
fba69514b2 | ||
|
|
1fcaa795cd | ||
|
|
858dcc1f7b | ||
|
|
283de67e17 | ||
|
|
370c73e1a5 | ||
|
|
f6bb77ce71 | ||
|
|
2ed811e949 |
79
.github/dependabot.yml
vendored
Normal file
79
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: composer
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
target-branch: dev
|
||||||
|
ignore:
|
||||||
|
- dependency-name: laravel/framework
|
||||||
|
versions:
|
||||||
|
- 7.30.3
|
||||||
|
- 8.36.2
|
||||||
|
- 8.37.0
|
||||||
|
- 8.38.0
|
||||||
|
- dependency-name: doctrine/dbal
|
||||||
|
versions:
|
||||||
|
- 2.13.0
|
||||||
|
- 3.0.0
|
||||||
|
- dependency-name: phpunit/phpunit
|
||||||
|
versions:
|
||||||
|
- 9.5.1
|
||||||
|
- 9.5.3
|
||||||
|
- dependency-name: facade/ignition
|
||||||
|
versions:
|
||||||
|
- 2.5.10
|
||||||
|
- 2.5.11
|
||||||
|
- 2.5.12
|
||||||
|
- 2.5.13
|
||||||
|
- 2.5.9
|
||||||
|
- dependency-name: laravel/tinker
|
||||||
|
versions:
|
||||||
|
- 2.6.0
|
||||||
|
- dependency-name: nunomaduro/collision
|
||||||
|
versions:
|
||||||
|
- 5.3.0
|
||||||
|
- dependency-name: nunomaduro/larastan
|
||||||
|
versions:
|
||||||
|
- 0.6.13
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
target-branch: dev
|
||||||
|
ignore:
|
||||||
|
- dependency-name: chart.js
|
||||||
|
versions:
|
||||||
|
- 3.1.0
|
||||||
|
- 3.1.1
|
||||||
|
- dependency-name: laravel-mix
|
||||||
|
versions:
|
||||||
|
- 6.0.16
|
||||||
|
- dependency-name: y18n
|
||||||
|
versions:
|
||||||
|
- 4.0.1
|
||||||
|
- 4.0.2
|
||||||
|
- dependency-name: react-dom
|
||||||
|
versions:
|
||||||
|
- 17.0.2
|
||||||
|
- dependency-name: react
|
||||||
|
versions:
|
||||||
|
- 17.0.2
|
||||||
|
- dependency-name: react-bootstrap
|
||||||
|
versions:
|
||||||
|
- 1.4.3
|
||||||
|
- 1.5.0
|
||||||
|
- dependency-name: sass
|
||||||
|
versions:
|
||||||
|
- 1.32.5
|
||||||
|
- 1.32.6
|
||||||
|
- 1.32.7
|
||||||
|
- dependency-name: "@babel/plugin-proposal-class-properties"
|
||||||
|
versions:
|
||||||
|
- 7.12.13
|
||||||
|
- dependency-name: react-toastify
|
||||||
|
versions:
|
||||||
|
- 7.0.1
|
||||||
|
- 7.0.2
|
||||||
70
.github/workflows/laravel-dev.yml
vendored
70
.github/workflows/laravel-dev.yml
vendored
@@ -1,59 +1,29 @@
|
|||||||
name: Dev
|
name: Build Dev Image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ dev ]
|
branches: [ dev ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
laravel-tests:
|
build:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: shivammathur/setup-php@b7d1d9c9a92d8d8463ce36d7f60da34d461724f8
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Docker Setup Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1.2.0
|
||||||
|
|
||||||
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v1
|
||||||
with:
|
with:
|
||||||
php-version: '7.4'
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
- uses: actions/checkout@v2
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
- name: Copy .env
|
- name: Build and push
|
||||||
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
|
uses: docker/build-push-action@v2
|
||||||
- name: Update .env with secrets
|
with:
|
||||||
env:
|
context: .
|
||||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
|
file: ./docker/Dockerfile
|
||||||
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
push: true
|
||||||
HEALTHCHECKS_UUID: ${{ secrets.HEALTHCHECKS_UUID }}
|
tags: henrywhitaker3/speedtest-tracker:dev,henrywhitaker3/speedtest-tracker:dev-arm
|
||||||
run: |
|
|
||||||
echo SLACK_WEBHOOK=$SLACK_WEBHOOK >> .env
|
|
||||||
echo TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN >> .env
|
|
||||||
echo TELEGRAM_CHAT_ID=$TELEGRAM_CHAT_ID >> .env
|
|
||||||
echo HEALTHCHECKS_UUID=$HEALTHCHECKS_UUID >> .env
|
|
||||||
- name: Install Dependencies
|
|
||||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
|
|
||||||
- name: Create Database
|
|
||||||
run: |
|
|
||||||
mkdir -p database
|
|
||||||
touch database/database.sqlite
|
|
||||||
- name: Generate key
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: php artisan key:generate
|
|
||||||
- name: Generate JWT key
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: php artisan jwt:secret
|
|
||||||
- name: Directory Permissions
|
|
||||||
run: chmod -R 777 storage bootstrap/cache
|
|
||||||
- name: Download Speedtest binary
|
|
||||||
run: wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz && tar zxvf speedtest.tgz && mv speedtest app/Bin/
|
|
||||||
- name: Accept EULA
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: php artisan speedtest:eula
|
|
||||||
- name: Execute tests (Unit and Feature tests) via PHPUnit
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: vendor/bin/phpunit
|
|
||||||
|
|||||||
29
.github/workflows/laravel-master.yml
vendored
Normal file
29
.github/workflows/laravel-master.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
name: Build Latest Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Docker Setup Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1.2.0
|
||||||
|
|
||||||
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./docker/Dockerfile
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
|
push: true
|
||||||
|
tags: henrywhitaker3/speedtest-tracker:latest,henrywhitaker3/speedtest-tracker:latest-arm
|
||||||
59
.github/workflows/laravel-stable.yml
vendored
59
.github/workflows/laravel-stable.yml
vendored
@@ -1,59 +0,0 @@
|
|||||||
name: Stable
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
laravel-tests:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: shivammathur/setup-php@b7d1d9c9a92d8d8463ce36d7f60da34d461724f8
|
|
||||||
with:
|
|
||||||
php-version: '7.4'
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Copy .env
|
|
||||||
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
|
|
||||||
- name: Update .env with secrets
|
|
||||||
env:
|
|
||||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
|
|
||||||
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
|
||||||
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
||||||
HEALTHCHECKS_UUID: ${{ secrets.HEALTHCHECKS_UUID }}
|
|
||||||
run: |
|
|
||||||
echo SLACK_WEBHOOK=$SLACK_WEBHOOK >> .env
|
|
||||||
echo TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN >> .env
|
|
||||||
echo TELEGRAM_CHAT_ID=$TELEGRAM_CHAT_ID >> .env
|
|
||||||
echo HEALTHCHECKS_UUID=$HEALTHCHECKS_UUID >> .env
|
|
||||||
- name: Install Dependencies
|
|
||||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
|
|
||||||
- name: Create Database
|
|
||||||
run: |
|
|
||||||
mkdir -p database
|
|
||||||
touch database/database.sqlite
|
|
||||||
- name: Generate key
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: php artisan key:generate
|
|
||||||
- name: Generate JWT key
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: php artisan jwt:secret
|
|
||||||
- name: Directory Permissions
|
|
||||||
run: chmod -R 777 storage bootstrap/cache
|
|
||||||
- name: Download Speedtest binary
|
|
||||||
run: wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz && tar zxvf speedtest.tgz && mv speedtest app/Bin/
|
|
||||||
- name: Accept EULA
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: php artisan speedtest:eula
|
|
||||||
- name: Execute tests (Unit and Feature tests) via PHPUnit
|
|
||||||
env:
|
|
||||||
DB_CONNECTION: sqlite
|
|
||||||
DB_DATABASE: database/database.sqlite
|
|
||||||
run: vendor/bin/phpunit
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Speedtest Tracker
|
# Speedtest Tracker
|
||||||
|
|
||||||
[](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker) [](https://github.com/henrywhitaker3/Speedtest-Tracker/actions) [](https://github.com/henrywhitaker3/Speedtest-Tracker/actions) [](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) [](https://github.com/henrywhitaker3/Speedtest-Tracker/issues) [](https://github.com/henrywhitaker3/Speedtest-Tracker/commits)  [](https://github.com/henrywhitaker3/Speedtest-Tracker/blob/master/LICENSE)
|
[](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker) [](https://github.com/henrywhitaker3/Speedtest-Tracker/actions) [](https://github.com/henrywhitaker3/Speedtest-Tracker/actions) [](https://github.com/henrywhitaker3/Speedtest-Tracker/commits) [](https://github.com/henrywhitaker3/Speedtest-Tracker/issues) [](https://github.com/henrywhitaker3/Speedtest-Tracker/commits)  [](https://github.com/henrywhitaker3/Speedtest-Tracker/blob/master/LICENSE)
|
||||||
|
|
||||||
This program runs a speedtest check every hour and graphs the results. The back-end is written in [Laravel](https://laravel.com/) and the front-end uses [React](https://reactjs.org/). It uses the [Ookla's speedtest cli](https://www.speedtest.net/apps/cli) package to get the data and uses [Chart.js](https://www.chartjs.org/) to plot the results.
|
This program runs a speedtest check every hour and graphs the results. The back-end is written in [Laravel](https://laravel.com/) and the front-end uses [React](https://reactjs.org/). It uses the [Ookla's speedtest cli](https://www.speedtest.net/apps/cli) package to get the data and uses [Chart.js](https://www.chartjs.org/) to plot the results.
|
||||||
|
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ class HomepageDataController extends Controller
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'latest' => run(GetLatestSpeedtestData::class),
|
'latest' => run(GetLatestSpeedtestData::class),
|
||||||
'time' => run(GetSpeedtestTimeData::class),
|
'time' => run(GetSpeedtestTimeData::class, $days),
|
||||||
'fail' => run(GetFailedSpeedtestData::class),
|
'fail' => run(GetFailedSpeedtestData::class, $days),
|
||||||
'config' => SettingsHelper::getConfig(),
|
'config' => SettingsHelper::getConfig(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
{
|
{
|
||||||
|
"1.12.2": [
|
||||||
|
{
|
||||||
|
"description": "Fixed a bug where the latest X days widget would not update for the failure graph",
|
||||||
|
"link": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
"1.12.1": [
|
"1.12.1": [
|
||||||
{
|
{
|
||||||
"description": "Fixed a bug where the latest X days widget would not update (#680)",
|
"description": "Fixed a bug where the latest X days widget would not update (#680)",
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ return [
|
|||||||
'providers' => [
|
'providers' => [
|
||||||
'users' => [
|
'users' => [
|
||||||
'driver' => 'eloquent',
|
'driver' => 'eloquent',
|
||||||
'model' => App\User::class,
|
'model' => App\Models\User::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
// 'users' => [
|
// 'users' => [
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ return [
|
|||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'version' => '1.12.1',
|
'version' => '1.12.2',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ LABEL maintainer=henrywhitaker3@outlook.com
|
|||||||
|
|
||||||
ENV arch='arm'
|
ENV arch='arm'
|
||||||
|
|
||||||
COPY conf/ /
|
COPY docker/conf/ /
|
||||||
|
COPY . /site
|
||||||
|
|
||||||
EXPOSE 80 443
|
EXPOSE 80 443
|
||||||
|
|
||||||
|
|||||||
@@ -22,14 +22,21 @@ else
|
|||||||
if [ ! -f /config/www/app/Bin/speedtest ]; then
|
if [ ! -f /config/www/app/Bin/speedtest ]; then
|
||||||
echo "Ookla GDPR and EULA accepted. Downloading Speedtest CLI."
|
echo "Ookla GDPR and EULA accepted. Downloading Speedtest CLI."
|
||||||
cd /tmp
|
cd /tmp
|
||||||
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-$arch-linux.tgz -O speedtest.tgz > /dev/null
|
|
||||||
|
if [ $(uname -m) == "x86_64" ]; then
|
||||||
|
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz > /dev/null
|
||||||
|
else
|
||||||
|
wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-arm-linux.tgz -O speedtest.tgz > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
tar zxvf speedtest.tgz > /dev/null
|
tar zxvf speedtest.tgz > /dev/null
|
||||||
cp speedtest /site/app/Bin/
|
cp speedtest /site/app/Bin/
|
||||||
|
|
||||||
HOME=/config && s6-setuidgid abc /site/artisan speedtest:eula > /dev/null
|
chmod +x /site/artisan
|
||||||
|
HOME=/config && s6-setuidgid abc /site/app/Bin/speedtest --accept-license --accept-gdpr > /dev/null
|
||||||
HOME=/root
|
HOME=/root
|
||||||
else
|
else
|
||||||
HOME=/config && s6-setuidgid abc /config/www/artisan speedtest:eula > /dev/null
|
HOME=/config && s6-setuidgid abc /site/app/Bin/speedtest --accept-license --accept-gdpr > /dev/null
|
||||||
HOME=/root
|
HOME=/root
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user