diff --git a/.gitbook/assets/dashboard.png b/.gitbook/assets/dashboard.png new file mode 100644 index 0000000..d0f172c Binary files /dev/null and b/.gitbook/assets/dashboard.png differ diff --git a/.gitbook/assets/dashboard_screenshot.jpg b/.gitbook/assets/dashboard_screenshot.jpg deleted file mode 100644 index 4a12994..0000000 Binary files a/.gitbook/assets/dashboard_screenshot.jpg and /dev/null differ diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png deleted file mode 100644 index 2896fa8..0000000 Binary files a/.gitbook/assets/image (2).png and /dev/null differ diff --git a/.gitbook/assets/influxdb2_settings.png b/.gitbook/assets/influxdb2_settings.png deleted file mode 100644 index 55d0ce8..0000000 Binary files a/.gitbook/assets/influxdb2_settings.png and /dev/null differ diff --git a/.gitbook/assets/influxdbv2_settings.png b/.gitbook/assets/influxdbv2_settings.png new file mode 100644 index 0000000..6661161 Binary files /dev/null and b/.gitbook/assets/influxdbv2_settings.png differ diff --git a/README.md b/README.md index c5cd12e..35a4687 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,9 @@ description: >- Docs are up to date through version: `0.24.x` {% endhint %} -

V0.20.6 Dashboard

+
-### Introduction -Speedtest Tracker is a self-hosted application that monitors the performance and uptime of your internet connection. #### Why might I want this? diff --git a/SUMMARY.md b/SUMMARY.md index bbb33a2..81d853b 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -7,13 +7,13 @@ ## 🚀 Getting Started * [Installation](getting-started/installation/README.md) - * [Using Docker or Docker Compose](getting-started/installation/installation.md) - * [Using Kubernetes](getting-started/installation/kubernetes.md) - * [Using QNAP](getting-started/installation/qnap.md) - * [Using Synology](getting-started/installation/synology.md) - * [Using Unraid](getting-started/installation/unraid.md) -* [Database Drivers](getting-started/database-drivers.md) + * [Using Docker or Docker Compose](getting-started/installation/using-docker.md) + * [Using Kubernetes](getting-started/installation/using-kubernetes.md) + * [Using QNAP](getting-started/installation/using-qnap.md) + * [Using Synology](getting-started/installation/using-synology.md) + * [Using Unraid](getting-started/installation/using-unraid.md) * [Environment Variables](getting-started/environment-variables.md) +* [Database Drivers](getting-started/database-drivers.md) ## 🆘 Help @@ -28,7 +28,7 @@ ## ⚙️ Settings * [Data Integrations](settings/data-platforms/README.md) - * [InfluxDB2](settings/data-platforms/influxdb2.md) + * [InfluxDB v2](settings/data-platforms/influxdb2.md) * [Notifications](settings/notifications/README.md) * [Database](settings/notifications/database.md) * [Mail](settings/notifications/mail.md) @@ -46,7 +46,6 @@ * [Embed Dashboard](other/embed-dashboard.md) * [Health Check](other/health-check.md) * [Community Projects](other/community-projects.md) -* [Stream Deck](other/stream-deck.md) ## 🖥️ API @@ -62,5 +61,5 @@ * [Source Code](https://github.com/alexjustesen/speedtest-tracker) * [Releases](https://github.com/alexjustesen/speedtest-tracker/releases) * [Update the Docs](https://github.com/alexjustesen/speedtest-tracker-docs) -* [About Me](https://alexjustesen.com/?utm\_campaign=oss-projects\&utm\_source=speedtest-tracker-docs\&utm\_medium=textlink) +* [About Me](https://alexjustesen.com/?utm_campaign=oss-projects\&utm_source=speedtest-tracker-docs\&utm_medium=textlink) * [Donate](https://github.com/sponsors/alexjustesen) diff --git a/features.md b/features.md index 1b9609e..55714d9 100644 --- a/features.md +++ b/features.md @@ -4,6 +4,4 @@ description: A full list of implemented features and those that are planned. # Features -
Dashboard page

Dashboard page

- -
FeaturesStatus
Install options
Docker images for x86Done
Docker images for arm64Done
unRAID Community AppDone
Dashboard
Show the most recent resultsDone
Pretty graphsDone
Results
History of failed and successful resultsDone
Filter by scheduled and successfulDone
Export selected results to CSVDone
Speedtest options
Scheduled testsDone
Adhoc testDone
Manually specify a serverDone
Manually specify a list of serversDone
Threshold alertsDone
Ping options
Ping a domain or list of domainsPlanned
Database support
SQLite (default)Done
MariaDB / MySQLDone
PostgresqlDone
InfluxDB v1Planned
InfluxDB v2Done
PrometheusPlanned
Notification Channels
In-appDone
MailDone
DiscordDone
GotifyDone
SlackDone
TelegramDone
WebhooksDone
NtfyDone
PushoverDone
HealthCheck.ioDone
Application Monitoring
https://ohdear.app/Planned
https://thenping.me/Planned
https://healthchecks.io/Planned
Other
Backup / RestorePlanned
Import data from https://github.com/henrywhitaker3/Speedtest-TrackerPlanned
+
FeaturesStatus
Install options
Docker images for x86Done
Docker images for arm64Done
unRAID Community AppDone
Dashboard
Show the most recent resultsDone
Pretty graphsDone
Results
History of failed and successful resultsDone
Filter by scheduled and successfulDone
Export selected results to CSVDone
Speedtest options
Scheduled testsDone
Adhoc testDone
Manually specify a serverDone
Manually specify a list of serversDone
Threshold alertsDone
Ping options
Ping a domain or list of domainsPlanned
Database support
SQLite (default)Done
MariaDB / MySQLDone
PostgresqlDone
InfluxDB v2Done
PrometheusPlanned
Notification Channels
In-appDone
MailDone
DiscordDone
GotifyDone
SlackDone
TelegramDone
WebhooksDone
NtfyDone
PushoverDone
HealthCheck.ioDone
Application Monitoring
https://ohdear.app/Planned
https://thenping.me/Planned
https://healthchecks.io/Planned
diff --git a/getting-started/database-drivers.md b/getting-started/database-drivers.md index 720e3cb..b50e5c8 100644 --- a/getting-started/database-drivers.md +++ b/getting-started/database-drivers.md @@ -8,7 +8,9 @@ description: >- Since Speedtest Tracker is built on the Laravel Framework any of the framework's supported database [drivers](https://laravel.com/docs/10.x/database#configuration) are also supported. -SQLite ships as the default driver but you can also use MySQL/MariaDB and Postgres. While SQL Server is supported by Laravel it hasn't been tested with Speedtest Tracker so no support will be provided for that driver. +SQLite ships as the default driver but you can also use MySQL/MariaDB/Postgres. + +> While SQL Server is supported by Laravel it hasn't been tested with Speedtest Tracker so no support will be provided for that driver. *** @@ -16,31 +18,33 @@ SQLite ships as the default driver but you can also use MySQL/MariaDB and Postgr #### SQLite (Default) -SQLite is a good option for simple installs and only not recommended because I think separating your application and the database into separate services is a better idea. - -To use SQLite follow the steps below to create your database file: - -1. Create a volume called `speedtest-tracker` or mount a directory to the container. -2. Create a file called `database.sqlite`, you can do this by running `touch database.sqlite` in the mounted volume or create it in the mounted directory. -3. Update your environment variables to only include the following environment variable in the table below. -4. On start-up the container will checked for the database on the file system, if it can find it errors will be thrown to the log. +SQLite is a good option for simple installs. The database will be create automatically inside the docker volume. | Environment Variable | Value | | -------------------- | -------- | | `DB_CONNECTION` | `sqlite` | -#### MySQL/MariaDB +#### MariaDB + +| Environment Variable | Value | +| -------------------- | -------------------------------------------------------- | +| `DB_CONNECTION` | `mariadb` | +| `DB_HOST` | The FQDN or address to the database instance. | +| `DB_PORT` | `3306` is the default port but can depend on your setup. | +| `DB_DATABASE` | Name of the database you'll connect to. | +| `DB_USERNAME` | User that'll be used to connect to the database. | +| `DB_PASSWORD` | Password for the user above. | -MariaDB ships as the default database that's included in the `docker-compose.yml` configuration, it's functionally the same as MySQL just an open-source earlier fork. +#### MySQL -| Environment Variable | Value | -| -------------------- | -------------------------------------------------------------------------------------------------------------- | -| `DB_CONNECTION` |

mysql

The mysql driver can be used for both MySQL and MariaDB.

| -| `DB_HOST` | The FQDN or address to the database instance. | -| `DB_PORT` | `3306` is the default port but can depend on your setup. | -| `DB_DATABASE` | Name of the database you'll connect to. | -| `DB_USERNAME` | User that'll be used to connect to the database. | -| `DB_PASSWORD` | Password for the user above. | +| Environment Variable | Value | +| -------------------- | -------------------------------------------------------- | +| `DB_CONNECTION` | `mysql` | +| `DB_HOST` | The FQDN or address to the database instance. | +| `DB_PORT` | `3306` is the default port but can depend on your setup. | +| `DB_DATABASE` | Name of the database you'll connect to. | +| `DB_USERNAME` | User that'll be used to connect to the database. | +| `DB_PASSWORD` | Password for the user above. | #### Postgres diff --git a/getting-started/installation/README.md b/getting-started/installation/README.md index 21bf6b6..4026317 100644 --- a/getting-started/installation/README.md +++ b/getting-started/installation/README.md @@ -1,12 +1,2 @@ # Installation -Speedtest Tracker can be run on a variety of platforms including using [Docker and Docker Compose](installation.md) along with [Synology NAS](synology.md) devices and on [Unraid OS](unraid.md). - -{% hint style="info" %} -Docker Compose is the recommended platform. -{% endhint %} - -### Port Mapping - -
ProtocolExternal port (default)Internal port
HTTP8080
HTTPS443443
- diff --git a/getting-started/installation/kubernetes.md b/getting-started/installation/kubernetes.md deleted file mode 100644 index a80bb87..0000000 --- a/getting-started/installation/kubernetes.md +++ /dev/null @@ -1,5 +0,0 @@ -# Kubernetes - -### Community Manifests - -* [https://github.com/maximemoreillon/kubernetes-manifests/tree/master/speedtest-tracker](https://github.com/maximemoreillon/kubernetes-manifests/tree/master/speedtest-tracker) diff --git a/getting-started/installation/installation.md b/getting-started/installation/using-docker.md similarity index 52% rename from getting-started/installation/installation.md rename to getting-started/installation/using-docker.md index 72b6fb1..5936230 100644 --- a/getting-started/installation/installation.md +++ b/getting-started/installation/using-docker.md @@ -1,23 +1,29 @@ --- description: >- - These steps will run you through setting up the application using Docker and - Docker Compose. + Speedtest Tracker can be run on a variety of platforms, the preferred platform + is Docker. --- # Using Docker or Docker Compose -### Install with Docker Compose (recommended) +Setting up your environment with Docker Compose is the recommended way as it'll setup the application and a database for you. These steps will run you through setting up the application using Docker and Docker Compose. -Setting up your environment with Docker Compose is the recommended infrastructure pattern as it'll setup the application and a database for you. SQLite is fine for most installs but we also provide instructions for setting up MariaDB, MySQL and Postgres should you prefer those database drivers. - -If you would like to provide your own SSL keys, they must be named `cert.crt` (full chain) and `cert.key` (private key), and mounted in the container folder `/config/keys`. +### Install with Docker {% hint style="info" %} -Complete overview of the Environment Variables can be found [here](../environment-variables.md) +The Docker Run commands can be found below the compose examples. These instructions assume you have an appropriate database instance that already exists. {% endhint %} + + +{% stepper %} +{% step %} +#### Docker Compose + +SQLite is fine for most installs but we also provide instructions for setting up MariaDB, MySQL and Postgres should you prefer those database drivers. + {% hint style="info" %} -A full list of released versions can be found [here](https://fleet.linuxserver.io/image?name=linuxserver/speedtest-tracker) +If you would like to provide your own SSL keys, they must be named `cert.crt` (full chain) and `cert.key` (private key), and mounted in the container folder `/config/keys`. {% endhint %} {% tabs %} @@ -25,6 +31,8 @@ A full list of released versions can be found [here](https://fleet.linuxserver.i ```yaml services: speedtest-tracker: + image: lscr.io/linuxserver/speedtest-tracker:latest + restart: unless-stopped container_name: speedtest-tracker ports: - 8080:80 @@ -32,26 +40,42 @@ services: environment: - PUID=1000 - PGID=1000 - - APP_KEY= - DB_CONNECTION=sqlite - - SPEEDTEST_SCHEDULE= - - SPEEDTEST_SERVERS= - - PRUNE_RESULTS_OLDER_THAN= - - CHART_DATETIME_FORMAT= + - APP_KEY= - DATETIME_FORMAT= - APP_TIMEZONE= + - SPEEDTEST_SCHEDULE= # Optional + - SPEEDTEST_SERVERS= # Optional volumes: - /path/to/data:/config - /path/to-custom-ssl-keys:/config/keys - image: lscr.io/linuxserver/speedtest-tracker:latest - restart: unless-stopped +``` + +*** + +``` +docker run -d --name speedtest-tracker --restart unless-stopped \ + -p 8080:80 \ + -p 8443:443 \ + -e PUID=1000 \ + -e PGID=1000 \ + -e DB_CONNECTION=sqlite \ + -e APP_KEY= \ + -e DATETIME_FORMAT= \ + -e APP_TIMEZONE= \ + -e SPEEDTEST_SCHEDULE= \ + -e SPEEDTEST_SERVERS= \ + -v /path/to/data:/config \ + -v /path/to-custom-ssl-keys:/config/keys \ + lscr.io/linuxserver/speedtest-tracker:latest ``` {% endtab %} -{% tab title="MariaDB/MySQL" %} -```yaml -services: - speedtest-tracker: +{% tab title="MariaDB" %} +
services:
+    speedtest-tracker:
+        image: lscr.io/linuxserver/speedtest-tracker:latest
+        restart: unless-stopped
         container_name: speedtest-tracker
         ports:
             - 8080:80
@@ -59,24 +83,20 @@ services:
         environment:
             - PUID=1000
             - PGID=1000
-            - APP_KEY=
-            - DB_CONNECTION=mysql
+            - DB_CONNECTION=mariadb
             - DB_HOST=db
             - DB_PORT=3306
             - DB_DATABASE=speedtest_tracker
             - DB_USERNAME=speedy
             - DB_PASSWORD=password
-            - SPEEDTEST_SCHEDULE=
-            - SPEEDTEST_SERVERS=
-            - PRUNE_RESULTS_OLDER_THAN=
-            - CHART_DATETIME_FORMAT= 
+            - APP_KEY=
             - DATETIME_FORMAT=
             - APP_TIMEZONE=
+            - SPEEDTEST_SCHEDULE= # Optional
+            - SPEEDTEST_SERVERS= # Optional
         volumes:
             - /path/to/data:/config
             - /path/to-custom-ssl-keys:/config/keys
-        image: lscr.io/linuxserver/speedtest-tracker:latest
-        restart: unless-stopped
         depends_on:
             - db
     db:
@@ -91,13 +111,41 @@ services:
             - speedtest-db:/var/lib/mysql
 volumes:
   speedtest-db:
+
+ +*** + +``` +docker run -d --name speedtest-tracker --restart unless-stopped \ + -p 8080:80 \ + -p 8443:443 \ + -e PUID=1000 \ + -e PGID=1000 \ + -e DB_CONNECTION=mariadb \ + -e DB_HOST= \ + -e DB_PORT=3306 \ + -e DB_DATABASE=speedtest_tracker \ + -e DB_USERNAME= \ + -e DB_PASSWORD= \ + -e APP_KEY= \ + -e DATETIME_FORMAT= \ + -e APP_TIMEZONE= \ + -e SPEEDTEST_SCHEDULE= \ + -e SPEEDTEST_SERVERS= \ + -v /path/to/data:/config \ + -v /path/to-custom-ssl-keys:/config/keys \ + lscr.io/linuxserver/speedtest-tracker:latest ``` + + {% endtab %} -{% tab title="Postgres" %} +{% tab title="MySQL" %} ```yaml services: speedtest-tracker: + image: lscr.io/linuxserver/speedtest-tracker:latest + restart: unless-stopped container_name: speedtest-tracker ports: - 8080:80 @@ -105,89 +153,53 @@ services: environment: - PUID=1000 - PGID=1000 - - APP_KEY= - - DB_CONNECTION=pgsql + - DB_CONNECTION=mysql - DB_HOST=db - - DB_PORT=5432 + - DB_PORT=3306 - DB_DATABASE=speedtest_tracker - DB_USERNAME=speedy - DB_PASSWORD=password - - SPEEDTEST_SCHEDULE= - - SPEEDTEST_SERVERS= - - PRUNE_RESULTS_OLDER_THAN= - - CHART_DATETIME_FORMAT= + - APP_KEY= - DATETIME_FORMAT= - APP_TIMEZONE= + - SPEEDTEST_SCHEDULE= # Optional + - SPEEDTEST_SERVERS= # Optional volumes: - /path/to/data:/config - /path/to-custom-ssl-keys:/config/keys - image: lscr.io/linuxserver/speedtest-tracker:latest - restart: unless-stopped depends_on: - db db: - image: postgres:15 + image: mysql:9 restart: always environment: - - POSTGRES_DB=speedtest_tracker - - POSTGRES_USER=speedy - - POSTGRES_PASSWORD=password + - MARIADB_DATABASE=speedtest_tracker + - MARIADB_USER=speedy + - MARIADB_PASSWORD=password + - MARIADB_RANDOM_ROOT_PASSWORD=true volumes: - - speedtest-db:/var/lib/postgresql/data + - speedtest-db:/var/lib/mysql volumes: speedtest-db: ``` -{% endtab %} -{% endtabs %} *** -### Install with Docker - -{% hint style="info" %} -These instructions assume you have an appropriate database instance that already exists. -{% endhint %} - -{% hint style="info" %} -A full list of released versions can be found [here](https://fleet.linuxserver.io/image?name=linuxserver/speedtest-tracker) -{% endhint %} - -{% tabs %} -{% tab title="SQLite" %} -```bash -docker run -d --name speedtest-tracker --restart unless-stopped \ - -p 8080:80 \ - -p 8443:443 \ - -e PUID=1000 \ - -e PGID=1000 \ - -e APP_KEY= \ - -e DB_CONNECTION=sqlite \ - -e SPEEDTEST_SCHEDULE= \ - -e SPEEDTEST_SERVERS= \ - -e PRUNE_RESULTS_OLDER_THAN= \ - -e CHART_DATETIME_FORMAT= \ - -e DATETIME_FORMAT= \ - -e APP_TIMEZONE= \ - -v /path/to/data:/config \ - -v /path/to-custom-ssl-keys:/config/keys \ - lscr.io/linuxserver/speedtest-tracker:latest ``` -{% endtab %} - -{% tab title="MariaDB/MySQL" %} -```bash -docker run -d --name speedtest-tracker --restart unless-stopped \ +docker run -d --name speedtest-tracker --restart unless-stopped \ -p 8080:80 \ -p 8443:443 \ -e PUID=1000 \ -e PGID=1000 \ - -e APP_KEY= \ -e DB_CONNECTION=mysql \ -e DB_HOST= \ -e DB_PORT=3306 \ -e DB_DATABASE=speedtest_tracker \ -e DB_USERNAME= \ -e DB_PASSWORD= \ + -e APP_KEY= \ + -e DATETIME_FORMAT= \ + -e APP_TIMEZONE= \ -e SPEEDTEST_SCHEDULE= \ -e SPEEDTEST_SERVERS= \ -v /path/to/data:/config \ @@ -197,30 +209,100 @@ docker run -d --name speedtest-tracker --restart unless-stopped \ {% endtab %} {% tab title="Postgres" %} -```bash +```yaml +services: + speedtest-tracker: + image: lscr.io/linuxserver/speedtest-tracker:latest + restart: unless-stopped + container_name: speedtest-tracker + ports: + - 8080:80 + - 8443:443 + environment: + - PUID=1000 + - PGID=1000 + - DB_CONNECTION=pgsql + - DB_HOST=db + - DB_PORT=3306 + - DB_DATABASE=speedtest_tracker + - DB_USERNAME=speedy + - DB_PASSWORD=password + - APP_KEY= + - DATETIME_FORMAT= + - APP_TIMEZONE= + - SPEEDTEST_SCHEDULE= # Optional + - SPEEDTEST_SERVERS= # Optional + volumes: + - /path/to/data:/config + - /path/to-custom-ssl-keys:/config/keys + depends_on: + - db + db: + image: postgres:17 + restart: always + environment: + - POSTGRES_DB=speedtest_tracker + - POSTGRES_USER=speedy + - POSTGRES_PASSWORD=password + volumes: + - speedtest-db:/var/lib/postgresql/data +volumes: + speedtest-db: +``` -docker run -d --name speedtest-tracker --restart unless-stopped \ +*** + +``` +docker run -d --name speedtest-tracker --restart unless-stopped \ -p 8080:80 \ -p 8443:443 \ -e PUID=1000 \ -e PGID=1000 \ - -e APP_KEY \ -e DB_CONNECTION=pgsql \ -e DB_HOST= \ - -e DB_PORT=5432 \ + -e DB_PORT=3306 \ -e DB_DATABASE=speedtest_tracker \ -e DB_USERNAME= \ -e DB_PASSWORD= \ - -e SPEEDTEST_SCHEDULE= \ - -e SPEEDTEST_SERVERS= \ - -e PRUNE_RESULTS_OLDER_THAN= \ - -e CHART_DATETIME_FORMAT= \ + -e APP_KEY= \ -e DATETIME_FORMAT= \ -e APP_TIMEZONE= \ + -e SPEEDTEST_SCHEDULE= \ + -e SPEEDTEST_SERVERS= \ -v /path/to/data:/config \ -v /path/to-custom-ssl-keys:/config/keys \ lscr.io/linuxserver/speedtest-tracker:latest ``` {% endtab %} {% endtabs %} +{% endstep %} + +{% step %} +#### Environment Variables + +In order for the application to run smoothly, some environment variables need to be set. Check out the [Environment Variables](../environment-variables.md) section. Make sure you set all the **Required** variables. +{% endstep %} + +{% step %} +#### Speedtest Variables + +Optionally you can set variables to have automatic speedtest on an schedule. Check out the [Environment Variables](../environment-variables.md#speedtest) section on how to set the variables. As well see the [FAQ](../../help/faqs.md#speedtest) for tips on the best schedule +{% endstep %} + +{% step %} +#### Start the Container + +You can now start the container accordingly the platform you are on. +{% endstep %} + +{% step %} +#### First Login + +During the start the container there is an default username and password created. Use the [default login](../../security/authentication.md#default-user-account) credentials to login to the application. You can [change the default user](../../security/authentication.md#change-user-account) after logging in. +{% endstep %} +{% endstepper %} + +{% hint style="info" %} +Complete overview of the Environment Variables for custom configuration can be found [here](../environment-variables.md) +{% endhint %} diff --git a/getting-started/installation/using-kubernetes.md b/getting-started/installation/using-kubernetes.md new file mode 100644 index 0000000..722e617 --- /dev/null +++ b/getting-started/installation/using-kubernetes.md @@ -0,0 +1,6 @@ +# Using Kubernetes + +Check out this amazing community kubernetes manifest to get you started. + +{% embed url="https://github.com/maximemoreillon/kubernetes-manifests/tree/master/speedtest-tracker" %} + diff --git a/getting-started/installation/qnap.md b/getting-started/installation/using-qnap.md similarity index 88% rename from getting-started/installation/qnap.md rename to getting-started/installation/using-qnap.md index 10ac41e..4503fd6 100644 --- a/getting-started/installation/qnap.md +++ b/getting-started/installation/using-qnap.md @@ -9,7 +9,7 @@ These instructions will run you through setting up the application on a QNAP NAS 1. Open **"Container Station"** and select **"Applications"** from the left-hand navigation menu. 2. Press the **"Create"** button. 3. Provide a name for the application. -4. Paste the below Docker Compose code into the text box, this is a modification of the MariaDB Docker Compose [install ](installation.md)instructions. +4. Paste the below Docker Compose code into the text box, this is a modification of the MariaDB Docker Compose [install ](using-docker.md)instructions. 5. Click **"Validate"** to make sure there are no errors. 6. Click **"Create"** to deploy the application. @@ -30,19 +30,17 @@ services: environment: - PUID=1000 - PGID=1000 - - APP_KEY= - - DB_CONNECTION=mysql - - DB_HOST=192.168.1.4 + - DB_CONNECTION=mariadb + - DB_HOST=db - DB_PORT=3306 - DB_DATABASE=speedtest_tracker - DB_USERNAME=speedy - DB_PASSWORD=password - - SPEEDTEST_SCHEDULE= - - SPEEDTEST_SERVERS= - - PRUNE_RESULTS_OLDER_THAN= - - CHART_DATETIME_FORMAT= + - APP_KEY= - DATETIME_FORMAT= - APP_TIMEZONE= + - SPEEDTEST_SCHEDULE= # Optional + - SPEEDTEST_SERVERS= # Optional volumes: - /path/to-data:/config - /path/to-custom-ssl-keys:/config/keys diff --git a/getting-started/installation/synology.md b/getting-started/installation/using-synology.md similarity index 96% rename from getting-started/installation/synology.md rename to getting-started/installation/using-synology.md index dcb18f4..f39892b 100644 --- a/getting-started/installation/synology.md +++ b/getting-started/installation/using-synology.md @@ -7,7 +7,7 @@ description: >- # Using Synology {% hint style="warning" %} -The following directions are for the old "Docker" application, if you're using "Container Manager" you can follow the docker compose instructions in [installation.md](installation.md "mention"). +The following directions are for the old "Docker" application, if you're using "Container Manager" you can follow the docker compose instructions in [using-docker.md](using-docker.md "mention"). {% endhint %} ### Install on a Synology NAS diff --git a/getting-started/installation/unraid.md b/getting-started/installation/using-unraid.md similarity index 91% rename from getting-started/installation/unraid.md rename to getting-started/installation/using-unraid.md index 2d4b9d9..21fedbd 100644 --- a/getting-started/installation/unraid.md +++ b/getting-started/installation/using-unraid.md @@ -11,4 +11,4 @@ description: >- Use the Community Applications plugin to install one of the templates below by searching for "Speedtest Tracker". * LinuxServer.io - [Template support](https://github.com/linuxserver/docker-speedtest-tracker) -* ZappyZap - [Template support](https://forums.unraid.net/topic/130245-support-devzwf-speedtest-tracker/) +* ZappyZap - [Template support](https://forums.unraid.net/topic/130245-support-devzwf-speedtest-tracker/) \ No newline at end of file diff --git a/help/error-messages.md b/help/error-messages.md index 4eb2b28..09d958e 100644 --- a/help/error-messages.md +++ b/help/error-messages.md @@ -4,9 +4,11 @@
-Could not resolve host. +Tests are saying there is no internet while there is. -This means the container can't reach the internet to run a speedtest successfully. +When a speedtest is being processed Speedtest Tracker will make a call to [http://icanhazip.com](http://icanhazip.com) to get your external IP address. This is done to determine if your server has access to the internet and to check if your external IP address (WAN IP) should be skipped. + +Some DNS blocks lists will block this domain, if you're getting errors and your server has access to the internet you'll need to add this to your allow lists.
@@ -32,6 +34,6 @@ This usually means the defined server is no longer available. Remove it from you Server Selection - Failed to find a working test server. (NoServers) -Not 100% sure what causes this exception yet but it's likely when the CLI can't locate a local server. You should specify a list of servers to see if that addresses the issue. +Not 100% sure what causes this exception yet but it's likely when the CLI can't locate a local server. You should specify a list of servers to see if that addresses the issue. diff --git a/help/faqs.md b/help/faqs.md index 7038839..98c8ed8 100644 --- a/help/faqs.md +++ b/help/faqs.md @@ -46,25 +46,19 @@ Once set restart the container. -### Other +### Speedtest
-AdGuard & Pi-hole allow domains - -When a speedtest is being processed Speedtest Tracker will make a call to [http://icanhazip.com](http://icanhazip.com) to get your external IP address. This is done to determine if your server has access to the internet and to check if your external IP address (WAN IP) should be skipped. +Scheduled tests give lower results then manual tests -Some blocks lists will block this domain, if you're getting errors and your server has access to the internet you'll need to add this to your allow lists. +Starting your cron schedule at an off-peak minute can help reduce network congestion or avoid overloading a speed test server. This [comment](https://github.com/alexjustesen/speedtest-tracker/issues/552#issuecomment-2028532010) on this issue can help you get the formatting right.
-
- -Cron schedule "from" a minute or hour -Starting your cron schedule from a minute our hour can help avoid congestion on the network or a speedtest server. This [comment](https://github.com/alexjustesen/speedtest-tracker/issues/552#issuecomment-2028532010) on the issue can help you get the formatting right. -
+### Other
diff --git a/other/community-projects.md b/other/community-projects.md index 13b3087..8a63fe6 100644 --- a/other/community-projects.md +++ b/other/community-projects.md @@ -1,10 +1,13 @@ --- description: >- - This page lists community projects that use SpeedTest Tracker as a base for their own projects. If you have a project that you would like to share, please submit a pull request to add it to this list + This page lists community projects that use SpeedTest Tracker as a base for + their own projects. If you have a project that you would like to share, please + submit a pull request to add it to this list --- # Community Projects ## Projects -- [SpeedtestTrackerBot](https://github.com/josephistired/SpeedtestTrackerBot) - A locally-run Discord bot that integrates with the Speedtest Tracker API to provide real-time network speed test results. Easily deployable via Docker, it supports multi-architecture environments and offers commands for health checks and accessing the latest speedtest results. \ No newline at end of file +* [SpeedtestTrackerBot](https://github.com/josephistired/SpeedtestTrackerBot) - A locally-run Discord bot that integrates with the Speedtest Tracker API to provide real-time network speed test results. Easily deployable via Docker, it supports multi-architecture environments and offers commands for health checks and accessing the latest speedtest results. +* Stream Deck - Use the API to show the most recent result on your Stream Deck. Shoutout to [MartynKeigher](https://github.com/MartynKeigher) on GitHub for [providing](https://github.com/alexjustesen/speedtest-tracker/issues/1191) these instructions. diff --git a/other/stream-deck.md b/other/stream-deck.md deleted file mode 100644 index 0700ed2..0000000 --- a/other/stream-deck.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -description: Use the API to show the most recent result on your Stream Deck. ---- - -# Stream Deck - -{% hint style="info" %} -Shoutout to [MartynKeigher](https://github.com/MartynKeigher) on GitHub for [providing](https://github.com/alexjustesen/speedtest-tracker/issues/1191) these instructions. -{% endhint %} - -### Required Plugin - -Download the "API Ninja" plugin from the Elgato Marketplace. - -
- -### Configure the Buttons - -1. Under the "BarRadier" plugin select "API Ninja" and drag it to an empty slot. -2. Request type should be set to `GET`. -3. API URL should be set to your application's app url and append `/api/speedtest/latest`. -4. Set the Content Type to `application/json`. -5. Set the Response Shown to `data.download` for download and `data.upload` for upload. -6. Check Parse/Format 'Response shown'. -7. Set the Format to `{0:N0}`. -8. Optionally you can add a Title Suffix: `\n(Mbps)` -9. Set the Response Type to `Text`. -10. Set Autorun every option to a refresh interval of your choice. -11. Optionally you can hide green success indicator. -12. Lastly duplicate the button and change the Response Shown to `data.download`. - -
diff --git a/security/authentication.md b/security/authentication.md index a01eb3e..73d032b 100644 --- a/security/authentication.md +++ b/security/authentication.md @@ -6,10 +6,39 @@ Speedtest Tracker uses Filament for the admin panel. During the install process ### Default User Account -{% hint style="info" %} -As of `v0.11.0` you can add additional users and update the default user's name, email and password. -{% endhint %} +During the first start of the application a default admin account is created for you: | Username | Password | | ------------------- | ---------- | | `admin@example.com` | `password` | + +### Create User Account + +You can create additional user accounts. + +* On the right side menu click on `Users` +* Click on `New User` +* Fill in the `Name`, `E-Mail Address, Password` and P`assword confirmation` to your liking. +* Choose the needed role for the user under `Role`. + +{% hint style="info" %} +The difference between the Roles can be found in the [Authorization](authorization.md) section. +{% endhint %} + +### Change User Account + +#### Login Details + +You can update the login details of the default user account or any additional accounts through the admin panel. Every user can update these details for there own account. + +* In the top right corner click on the user logo next to the bell icon. +* Click on Profile +* Change the `Name`, `E-Mail Address` and `Password` to your liking. + +#### Change Account Roles + +As an Admin you can change the the account details like roles of other user accounts. + +* On the right side menu click on `Users` +* Click on user account you want to change +* Change the `Name`, `E-Mail Address` ,`Password` and `Role` to your liking. diff --git a/settings/data-platforms/influxdb2.md b/settings/data-platforms/influxdb2.md index b710734..a983172 100644 --- a/settings/data-platforms/influxdb2.md +++ b/settings/data-platforms/influxdb2.md @@ -1,11 +1,26 @@ -# InfluxDB2 +# InfluxDB v2 -{% hint style="info" %} -At this time only InfluxDB2 is supported, InfluxDB(1) is planned -{% endhint %} - -

InfluxDB2 settings

+After every test the Speedtest Tracker can send the results to InfluxDB for long term storage or custom visualizations. ### Settings +To configure Speedtest Tracker to send results to InfluxDB, set the following settings. +
NameDefaultDescription
URLblankFQDN or IP address to the InfluxDB2 instance
OrgblankOrganization on which you created your bucket in
Bucketspeedtest-trackerThe name of the bucket you created in your org
TokenblankAPI token that has access to write to the org and bucket listed above
+ +

Influxdb v2 Settings

+ +If you have a history of results, you can use the `Export current results` feature to export all data to InfluxDB. + +### Grafana Dashboard + +You can use this community made Grafana Dashbaord to visualize your data. + +{% embed url="https://github.com/masterwishx/Speedtest-Tracker-v2-InfluxDBv2" %} + +### Data pattern + +The Speedtest Tracker exports data in two categories: `Tag` and `Field`. Tags are used for filtering, while fields are used for displaying the data. + +
NameData Type
result_idStringTag
external_ipStringTag
ispStringTag
serviceStringTag
server_idStringTag
server_nameStringTag
server_countryStringTag
server_locationStringTag
healthyStringTag
statusStringTag
scheduledStringTag
downloadinitField
uploadinitField
pingfloatField
download_bitsintField
upload_bitsintField
download_jitterfloatField
upload_jitterfloatField
ping_jitterfloatField
download_latency_avgfloatField
download_latency_highfloatField
download_latency_lowfloatField
upload_latency_avgfloatField
upload_latency_highfloatField
upload_latency_lowfloatField
packet_lossfloatField
+