Installation

Results

Required Configuration

Variable
Default Value
Description
PUID
1000
Update with your UID by running id username
PGID
1000
Update with your GID by running id username

Port Mapping

Protocol
Internal port
HTTP
80
HTTPS
443

Install with Docker

MariaDB/MySQL and PostgreSQL instructions assumes you have a database instance that already exists.
Docker (Sqlite)
Docker (MariaDB/MySQL)
Docker (PostgreSQL)
docker run -d --name speedtest-tracker --restart unless-stopped \
-p 8080:80 \
-p 8443:443 \
-e PUID=1000 \
-e PGID=1000 \
-v /path/to/directory:/config \
ghcr.io/alexjustesen/speedtest-tracker:latest
docker run -d --name speedtest-tracker --restart unless-stopped \
-p 8080:80 \
-p 8443:443 \
-e PUID=1000 \
-e PGID=1000 \
-e "DB_CONNECTION=mysql" \
-e "DB_HOST=" \
-e "DB_PORT=3306" \
-e "DB_DATABASE=speedtest_tracker" \
-e "DB_USERNAME=" \
-e "DB_PASSWORD=" \
-v /path/to/directory:/config \
ghcr.io/alexjustesen/speedtest-tracker:latest
docker run -d --name speedtest-tracker --restart unless-stopped \
-p 8080:80 \
-p 8443:443 \
-e PUID=1000 \
-e PGID=1000 \
-e "DB_CONNECTION=pgsql" \
-e "DB_HOST=" \
-e "DB_PORT=5432" \
-e "DB_DATABASE=speedtest_tracker" \
-e "DB_USERNAME=" \
-e "DB_PASSWORD=" \
-v /path/to/directory:/config \
ghcr.io/alexjustesen/speedtest-tracker:latest

Install with Docker Compose

Docker (Sqlite)
Docker (MariaDB/MySQL)
Docker (PostgreSQL)
version: '3.3'
services:
speedtest-tracker:
container_name: speedtest-tracker
ports:
- '8080:80'
- '8443:443'
environment:
- PUID=1000
- PGID=1000
volumes:
- '/path/to/directory:/config'
image: 'ghcr.io/alexjustesen/speedtest-tracker:latest'
restart: unless-stopped
version: '3.3'
services:
speedtest-tracker:
container_name: speedtest-tracker
ports:
- '8080:80'
- '8443:443'
environment:
- PUID=1000
- PGID=1000
- DB_CONNECTION=mysql
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=speedtest_tracker
- DB_USERNAME=speedy
- DB_PASSWORD=password
volumes:
- '/path/to/directory:/config'
image: 'ghcr.io/alexjustesen/speedtest-tracker:latest'
restart: unless-stopped
depends_on:
- db
db:
image: mariadb:10
restart: always
environment:
- MARIADB_DATABASE=speedtest_tracker
- MARIADB_USER=speedy
- MARIADB_PASSWORD=password
- MARIADB_RANDOM_ROOT_PASSWORD=true
volumes:
- speedtest-db:/var/lib/mysql
volumes:
speedtest-db:
version: '3.3'
services:
speedtest-tracker:
container_name: speedtest-tracker
ports:
- '8080:80'
- '8443:443'
environment:
- PUID=1000
- PGID=1000
- DB_CONNECTION=pgsql
- DB_HOST=db
- DB_PORT=5432
- DB_DATABASE=speedtest_tracker
- DB_USERNAME=speedy
- DB_PASSWORD=password
volumes:
- '/path/to/directory:/config'
image: 'ghcr.io/alexjustesen/speedtest-tracker:latest'
restart: unless-stopped
depends_on:
- db
db:
image: postgres:15
restart: always
environment:
- POSTGRES_DB=speedtest_tracker
- POSTGRES_USER=speedy
- POSTGRES_PASSWORD=password
volumes:
- speedtest-db:/var/lib/postgresql/data
volumes:
speedtest-db:

Install on unRAID

The unRAID community app store contains an app template managed by ZappyZap. Search "Speedtest Tracker" to install. Template support can be found here.

Install on Synology

Open the Docker interface of your Synology Device, search for ajustesen/speedtest-tracker in the Registry and download it.
download_image
Create a local directory (i.e. /volume1/docker/speedtest-tracker) which later can be mapped to the docker container.
Launch the image once the download is completed.
launch_image
Map the ports to available ports.
port_mapping
Make sure the ports you choose are not used by any other application or DSM service on your device and remember to adjust the Synology Firewall settings accordingly.
Map the directory you created earlier to the mount path /config.
volume_mapping
Review your settings and click "done".
summary
You can now access Speedtest-Tracker via http://YOUR_IP_ADDRESS:8080 or https://YOUR_IP_ADDRESS:8443.