๐Ÿ‡
Speedtest Tracker
  • Introduction
  • Features
  • Changelog
  • ๐Ÿš€Getting Started
    • Installation
      • Using Docker Compose
      • Using Docker
      • Using Kubernetes
      • Using QNAP
      • Using Synology
      • Using Unraid
    • Environment Variables
    • Database Drivers
  • ๐Ÿ†˜Help
    • Error Messages
    • Frequently Asked Questions
  • ๐Ÿ”‘Security
    • Authentication
    • Authorization
    • Encryption
  • โš™๏ธSettings
    • Data Integrations
      • InfluxDB v2
    • Notifications
      • Database
      • Mail
      • Telegram
  • ๐Ÿ‘€Other
    • Speedtest Process
    • Proxies
      • Cloudflare Tunnel (Zero Trust)
      • Traefik
      • Tailscale
    • Caching
    • Commands
    • Data Dictionary
    • Embed Dashboard
    • Health Check
    • Community Projects
  • ๐Ÿ–ฅ๏ธAPI
    • v1
    • Latest Result (deprecated)
  • ๐ŸคนContributing
    • Development Environment
  • ๐Ÿ”—More
    • Source Code
    • Releases
    • Update the Docs
    • About Me
    • Donate
Powered by GitBook
On this page
Edit on GitHub
  1. Getting Started
  2. Installation

Using Docker

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

PreviousUsing Docker ComposeNextUsing Kubernetes

Last updated 2 months ago

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

Run the command below to generate a key, the key is required for . 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
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=mariadb \
    -e DB_HOST= \
    -e DB_PORT=3306 \
    -e DB_DATABASE=speedtest_tracker \
    -e DB_USERNAME= \
    -e DB_PASSWORD= \
    -v /path/to/data:/config \
    -v /path/to-custom-ssl-keys:/config/keys \
    lscr.io/linuxserver/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 APP_KEY= \
    -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/data:/config \
    -v /path/to-custom-ssl-keys:/config/keys \
    lscr.io/linuxserver/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 APP_KEY=
    -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/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 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 section on how to set the variables. Also see the for tips effectively scheduling tests.

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

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 credentials to login to the application. You can after logging in.

๐Ÿš€
encryption
Environment Variables
here
default login
change the default user
Environment Variables
FAQ