Skip to content

Speedtest Tracker

Deployment of Speedtest Tracker

This section guides you through the setup of Speedtest Tracker using Docker Compose. Speedtest Tracker runs scheduled speed tests and provides a web-based interface to view the results.


Offical Docs - Speedtest Tracker Documentation

Docker Compose Configuration

Here's the Docker Compose file necessary for deploying the Speedtest Tracker service. Save this configuration as docker-compose.yml in your project directory.

version: '3.8'
    container_name: speedtest-tracker
      - '8072:80'   # Maps port 80 inside the container to port 8072 on the host for HTTP access.
      - '8472:443'  # Maps port 443 inside the container to port 8472 on the host for HTTPS access.
      - PUID=1000  # Sets the user ID the service will run as.
      - PGID=1000  # Sets the group ID the service will run as.
      - APP_KEY=base64:s5xs13....  # Application key for Laravel framework security. Generate a App Key here -
      - APP_URL=https://speedtest.yoursite/  # Public URL where the Speedtest Tracker will be accessible.
      - DB_CONNECTION=sqlite  # Uses SQLite as the database.
      - SPEEDTEST_SCHEDULE="0 */3 * * *"  # Cron schedule, runs every 3 hours.
      - DISPLAY_TIMEZONE=Pacific/Auckland  # Sets the timezone for displaying data in the UI.
      - ./data:/config  # Mounts the directory for persistent data.
      - ./ssl-keys:/config/keys  # Mounts the directory for SSL keys.
    restart: unless-stopped  # Ensures the container restarts unless it is explicitly stopped.

Deployment Instructions

  1. Prepare the Environment: Ensure Docker and Docker Compose are installed on your host machine.

  2. Create a Docker Compose File: Create a new file named docker-compose.yml and copy the above content into this file.

  3. Prepare Data and SSL Directories: Create the data and ssl-keys directories in the same directory as your docker-compose.yml. This ensures proper permissions and data persistence.

  4. Start the Container: Navigate to the directory containing your docker-compose.yml and run the following command to start Speedtest Tracker:

    docker compose up -d
    This command will start the Speedtest Tracker in detached mode, allowing it to run in the background.

  5. Access the Web Interface: Once the container is running, access the Speedtest Tracker web interface by navigating to http://localhost:8072 or https://localhost:8472 depending on your setup.

default login
Username: [email protected]
Password: password

Additional Notes

  • Make sure the ports in the docker-compose.yml do not conflict with other services on your host.
  • Adjust the SPEEDTEST_SCHEDULE environment variable to change the frequency of speed tests as needed.