Skip to content

Commit 6741fab

Browse files
Merge pull request #1 from alexjustesen/main
Pulling changes from base repo.
2 parents 84759a2 + a74793e commit 6741fab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1440
-771
lines changed

.phpstorm.meta.php

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,9 @@
182182
'composer' => \Illuminate\Support\Composer::class,
183183
'cookie' => \Illuminate\Cookie\CookieJar::class,
184184
'db' => \Illuminate\Database\DatabaseManager::class,
185-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
185+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
186186
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
187-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
187+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
188188
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
189189
'encrypter' => \Illuminate\Encryption\Encrypter::class,
190190
'events' => \Illuminate\Events\Dispatcher::class,
@@ -396,9 +396,9 @@
396396
'composer' => \Illuminate\Support\Composer::class,
397397
'cookie' => \Illuminate\Cookie\CookieJar::class,
398398
'db' => \Illuminate\Database\DatabaseManager::class,
399-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
399+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
400400
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
401-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
401+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
402402
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
403403
'encrypter' => \Illuminate\Encryption\Encrypter::class,
404404
'events' => \Illuminate\Events\Dispatcher::class,
@@ -610,9 +610,9 @@
610610
'composer' => \Illuminate\Support\Composer::class,
611611
'cookie' => \Illuminate\Cookie\CookieJar::class,
612612
'db' => \Illuminate\Database\DatabaseManager::class,
613-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
613+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
614614
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
615-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
615+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
616616
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
617617
'encrypter' => \Illuminate\Encryption\Encrypter::class,
618618
'events' => \Illuminate\Events\Dispatcher::class,
@@ -824,9 +824,9 @@
824824
'composer' => \Illuminate\Support\Composer::class,
825825
'cookie' => \Illuminate\Cookie\CookieJar::class,
826826
'db' => \Illuminate\Database\DatabaseManager::class,
827-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
827+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
828828
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
829-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
829+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
830830
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
831831
'encrypter' => \Illuminate\Encryption\Encrypter::class,
832832
'events' => \Illuminate\Events\Dispatcher::class,
@@ -1038,9 +1038,9 @@
10381038
'composer' => \Illuminate\Support\Composer::class,
10391039
'cookie' => \Illuminate\Cookie\CookieJar::class,
10401040
'db' => \Illuminate\Database\DatabaseManager::class,
1041-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
1041+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
10421042
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
1043-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
1043+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
10441044
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
10451045
'encrypter' => \Illuminate\Encryption\Encrypter::class,
10461046
'events' => \Illuminate\Events\Dispatcher::class,
@@ -1252,9 +1252,9 @@
12521252
'composer' => \Illuminate\Support\Composer::class,
12531253
'cookie' => \Illuminate\Cookie\CookieJar::class,
12541254
'db' => \Illuminate\Database\DatabaseManager::class,
1255-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
1255+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
12561256
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
1257-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
1257+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
12581258
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
12591259
'encrypter' => \Illuminate\Encryption\Encrypter::class,
12601260
'events' => \Illuminate\Events\Dispatcher::class,
@@ -1466,9 +1466,9 @@
14661466
'composer' => \Illuminate\Support\Composer::class,
14671467
'cookie' => \Illuminate\Cookie\CookieJar::class,
14681468
'db' => \Illuminate\Database\DatabaseManager::class,
1469-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
1469+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
14701470
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
1471-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
1471+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
14721472
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
14731473
'encrypter' => \Illuminate\Encryption\Encrypter::class,
14741474
'events' => \Illuminate\Events\Dispatcher::class,
@@ -1680,9 +1680,9 @@
16801680
'composer' => \Illuminate\Support\Composer::class,
16811681
'cookie' => \Illuminate\Cookie\CookieJar::class,
16821682
'db' => \Illuminate\Database\DatabaseManager::class,
1683-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
1683+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
16841684
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
1685-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
1685+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
16861686
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
16871687
'encrypter' => \Illuminate\Encryption\Encrypter::class,
16881688
'events' => \Illuminate\Events\Dispatcher::class,
@@ -1894,9 +1894,9 @@
18941894
'composer' => \Illuminate\Support\Composer::class,
18951895
'cookie' => \Illuminate\Cookie\CookieJar::class,
18961896
'db' => \Illuminate\Database\DatabaseManager::class,
1897-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
1897+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
18981898
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
1899-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
1899+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
19001900
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
19011901
'encrypter' => \Illuminate\Encryption\Encrypter::class,
19021902
'events' => \Illuminate\Events\Dispatcher::class,
@@ -2108,9 +2108,9 @@
21082108
'composer' => \Illuminate\Support\Composer::class,
21092109
'cookie' => \Illuminate\Cookie\CookieJar::class,
21102110
'db' => \Illuminate\Database\DatabaseManager::class,
2111-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
2111+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
21122112
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
2113-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
2113+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
21142114
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
21152115
'encrypter' => \Illuminate\Encryption\Encrypter::class,
21162116
'events' => \Illuminate\Events\Dispatcher::class,
@@ -2322,9 +2322,9 @@
23222322
'composer' => \Illuminate\Support\Composer::class,
23232323
'cookie' => \Illuminate\Cookie\CookieJar::class,
23242324
'db' => \Illuminate\Database\DatabaseManager::class,
2325-
'db.connection' => \Illuminate\Database\MySqlConnection::class,
2325+
'db.connection' => \Illuminate\Database\PostgresConnection::class,
23262326
'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class,
2327-
'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class,
2327+
'db.schema' => \Illuminate\Database\Schema\PostgresBuilder::class,
23282328
'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class,
23292329
'encrypter' => \Illuminate\Encryption\Encrypter::class,
23302330
'events' => \Illuminate\Events\Dispatcher::class,
@@ -2365,6 +2365,10 @@
23652365
]));
23662366

23672367

2368+
override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::mock(0), map(["" => "@&\Mockery\MockInterface"]));
2369+
override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::partialMock(0), map(["" => "@&\Mockery\MockInterface"]));
2370+
override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::instance(0), type(1));
2371+
override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::spy(0), map(["" => "@&\Mockery\MockInterface"]));
23682372
override(\Illuminate\Support\Arr::add(0), type(0));
23692373
override(\Illuminate\Support\Arr::except(0), type(0));
23702374
override(\Illuminate\Support\Arr::first(0), elementType(0));

Dockerfile

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ ENV PHP_OPEN_BASEDIR=$WEBUSER_HOME:/config/:/dev/stdout:/tmp
66
# Enable mixed ssl mode so port 80 or 443 can be used
77
ENV SSL_MODE="mixed"
88

9-
# Install addition packages
10-
RUN apt-get update && apt-get install -y \
11-
cron \
12-
gnupg \
13-
php8.1-pgsql \
14-
&& apt-get clean \
15-
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
9+
# Install addition packages and cron file
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends cron gnupg php8.1-gd php8.1-pgsql \
12+
&& echo "MAILTO=\"\"\n* * * * * webuser /usr/bin/php /var/www/html/artisan schedule:run" > /etc/cron.d/laravel
1613

1714
# Install Speedtest cli
1815
RUN curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash \
1916
&& apt-get install -y speedtest
2017

18+
# Clean up package lists
19+
RUN apt-get clean \
20+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
21+
2122
# Copy package configs
22-
COPY --chmod=644 docker/deploy/cron/scheduler /etc/cron.d/scheduler
2323
COPY --chmod=755 docker/deploy/etc/s6-overlay/ /etc/s6-overlay/
2424

2525
WORKDIR /var/www/html
@@ -31,7 +31,6 @@ COPY --chown=webuser:webgroup . /var/www/html
3131
RUN composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev \
3232
&& mkdir -p storage/logs \
3333
&& php artisan optimize:clear \
34-
&& chown -R webuser:webgroup /var/www/html \
35-
&& crontab /etc/cron.d/scheduler
34+
&& chown -R webuser:webgroup /var/www/html
3635

3736
VOLUME /config

README.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
## Speedtest Tracker
22

3+
### Introduction
4+
35
Speedtest Tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service.
46

57
### Why might I use this?
8+
69
The main use case for Speedtest Tracker is to build a history of your internet's performance so that you can be informed when you're not receiving your ISP's advertised rates.
710

8-
### What about that other Speedtest Tracker?
11+
#### What about that other Speedtest Tracker?
12+
913
As far as I can tell https://github.com/henrywhitaker3/Speedtest-Tracker was abandoned. This version is meant to be an actively maintained replacement with an improved UI and feature set.
1014

11-
### Documentation and Features
12-
The docs can be found here https://docs.speedtest-tracker.dev to help you get started and also contains a full list of features.
15+
### Getting Started
16+
17+
Speedtest Tracker is containerized so you can run it anywhere you run your Docker containers. The [install](https://docs.speedtest-tracker.dev/getting-started/installation) documentation will get you up and running with using Docker or Docker Composer along with choosing a database (SQLite, MySQL/MariaDB or Postgresql).
18+
19+
#### FAQs and Features
20+
21+
[FAQs](https://docs.speedtest-tracker.dev/faqs) and a full list of planned and completed [features](https://docs.speedtest-tracker.dev/getting-started/features) can be found in the [documentation](https://docs.speedtest-tracker.dev).
1322

1423
### Screenshots
1524
#### Dashboard

0 commit comments

Comments
 (0)