Files
Notes/Docker/Speed-test/Speedtest.md

2.4 KiB
Raw Permalink Blame History

Speedtest Tracker (LinuxServer.io) Installation Runbook

Purpose

Deploy Speedtest Tracker using the LinuxServer.io Docker image to automatically track internet performance over time using Ookla Speedtest.

This runbook covers:

  • Application key requirements
  • Docker Compose configuration
  • Initial access and login
  • Validation checks

1. Prerequisites

  • Docker and Docker Compose installed
  • A persistent storage location available on the host
  • LAN access to the host
  • Known timezone (e.g. Pacific/Auckland)

2. Application Key (APP_KEY)

⚠️ Mandatory the container will refuse to start without an application key.

The LinuxServer.io image does not generate an APP_KEY automatically.
A valid key must be generated externally and provided via environment variables before the container starts.

Important notes

  • The key must be in base64: format
  • The key must remain stable for the lifetime of the deployment
  • Regenerating the key later will invalidate encrypted data

3. Create Docker Compose File

Create or edit docker-compose.yml:

services:
  speedtest-tracker:
    image: lscr.io/linuxserver/speedtest-tracker:latest
    container_name: speedtest-tracker
    restart: unless-stopped
    ports:
      - "8765:80"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Pacific/Auckland
      - DISPLAY_TIMEZONE=Pacific/Auckland
      - APP_KEY=base64:REDACTED
      - APP_URL=http://192.168.50.253:8765
      - DB_CONNECTION=sqlite
      - SPEEDTEST_SCHEDULE=0 * * * *
    volumes:
      - /mnt/storage01/docker/speedtest-tracker:/config

4. Prepare Persistent Storage

Ensure the host directory exists and is owned by the configured PUID/PGID.

bash
mkdir -p /mnt/storage01/docker/speedtest-tracker
chown -R 1000:1000 /mnt/storage01/docker/speedtest-tracker

5. Start the Container

Start the service using Docker Compose:

bash
docker compose up -d

6. Access the site

http://<IP_ADDRESS>:8765

7. Initial Login

The LinuxServer.io image includes a pre-seeded default administrator account. Use the following credentials to log in for the first time:

Email:    admin@example.com
Password: password

8. User Account

Now go create a new user, made it an administrator. Logout as admin, and sign in with newly create account. Change the admin again to a user account, delete the guest account.

FIN