Add a FileTree component and convert every directory tree to it

This commit is contained in:
Djeex
2026-09-02 23:02:17 +02:00
parent 940096b2b1
commit 54edbae731
29 changed files with 553 additions and 329 deletions
@@ -24,15 +24,21 @@ description: Install Speedtest Tracker to automatically measure and log your int
We will use the Docker image maintained by [LinuxServer.io](https://docs.linuxserver.io/images/docker-speedtest-tracker/)
::
File structure:
::file-tree
---
tree:
/:
- docker:
- speedtest-tracker:
- compose.yaml
- .env
- data:
- config/
---
::
```text [Directory tree]
root
└── docker
└── speedtest-tracker
└── data
└── config
```
::steps{level="3"}
### Generate an app key
In a terminal, generate a key using the following command:
@@ -42,6 +48,8 @@ echo -n 'base64:'; openssl rand -base64 32;
Take note of the key.
### Deploy the stack
Open Dockge, click on `compose`, name the stack `speedtest-tracker`, then paste the following:
```yaml [compose.yaml]
@@ -67,6 +75,8 @@ services:
- /docker/speedtest-tracker/data/config:/config
```
### Set your environment variables
Find your `PUID` and `GUID` by running the following command:
```bash [Terminal]
@@ -89,7 +99,10 @@ PORT=3225 # port to access the web UI
Deploy the container and go to `http://yourserverip:3225`. Log in with the account `admin@exemple.com` and the password `password`. Dont forget to change your ID and password once logged in!
## Expose Speedtest Tracker
### Done !
::
## Exposing Speedtest Tracker with SWAG
::note
📋 **Prerequisites:**
We assume that you've already created a subdomain like `speedtest.yourdomain.com` in your [DNS zone](/general/networking/dns) with a `CNAME` pointing to `yourdomain.com`, and [unless youre using Cloudflare Zero Trust](/serveex/security/cloudflare), you've also forwarded port `443` from your router to port `443` of your server in your [NAT rules](/general/networking/nat).
@@ -102,6 +115,9 @@ Now we want to expose Speedtest Tracker to the internet so you can access it rem
Speedtest Tracker does not use multi-factor authentication. Exposing it on the internet could compromise connected devices. Do so only if you use a multi-factor system like [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik/). Otherwise, avoid using SWAG and prefer a VPN like [Wireguard](/serveex/security/wireguard).
::
::steps{level="3"}
### Create the subdomain.conf file
Open the `speedtest.subdomain.conf` file:
```bash [Terminal]
@@ -155,6 +171,8 @@ server {
Save and exit. The configuration will update in a few seconds.
### Add Speedtest Tracker's network to SWAG
::note
By default, SWAG doesnt know the name "speedtest-tracker". To allow access, you need to add Speedtest Trackers network to SWAGs `compose.yml`.
@@ -186,6 +204,9 @@ Restart the stack by clicking "Deploy" and wait for SWAG to be fully up.
This assumes the Speedtest Tracker network is named `speedtest-tracker_default`. You can verify the connection by visiting SWAGs dashboard at `http://yourserverip:81`.
::
### Done !
::
Wait a moment, then visit `https://speedtest.yourdomain.com` in your browser. You should be redirected to Speedtest Tracker. You can check service status via the dashboard (`http://yourserverip:81` from the local network).
## Protecting Speedtest Tracker with TinyAuth