Using Docker

These instructions will run you through setting up Speedtest Tracker on a Docker server using Docker run.

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.

Docker run commands assume you already have a database installed and configured.

Install with Docker Run

1

Generate an Application Key

You can get a generated key on https://speedtest-tracker.dev/ or run the command below. The key is required for encryption.

Copy this key including the base64: prefix and paste it as your APP_KEY value.

echo -n 'base64:'; openssl rand -base64 32;
2

Setting Up Docker

SQLite is fine for most installs but you can also use more traditional relational databases like MariaDB, MySQL and Postgres.

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 \
    -v /path/to/data:/config \
    -v /path/to-custom-ssl-keys:/config/keys \
    lscr.io/linuxserver/speedtest-tracker:latest

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.

3

Environment Variables

In order for the application to run smoothly, some environment variables need to be set. Check out the Environment Variables section. Make sure all required variables are configured.

4

Configuration Variables (Optional)

You can set configuration variables to have automatic speedtest on an schedule. Check out the Environment Variables section on how to set the variables. Also see the FAQ for tips effectively scheduling tests.

Complete overview of the Environment Variables for custom configuration can be found here.

5

Start the Container

You can now start the container accordingly the platform you are on.

6

First Login

During the start the container there is a default username and password created. Use the default login credentials to login to the application. You can change the default user after logging in.

Last updated