๐Ÿ‡
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
      • Webhook
  • ๐Ÿ‘€Other
    • Speedtest Process
    • Proxies
      • Cloudflare Tunnel (Zero Trust)
      • Traefik
      • Tailscale
    • Caching
    • Commands
    • Data Dictionary
    • Embed Dashboard
    • Health Check
    • Community Projects
  • ๐Ÿ–ฅ๏ธAPI
    • Authorization
    • Responses
      • Results
      • Speedtests
      • Servers
      • Stats
      • Models
  • ๐ŸคนContributing
    • Development Environment
  • ๐Ÿ”—More
    • Source Code
    • Releases
    • Update the Docs
    • About Me
    • Donate
Powered by GitBook
On this page
Edit on GitHub
  1. Other
  2. Proxies

Traefik

PreviousCloudflare Tunnel (Zero Trust)NextTailscale

Last updated 3 months ago

can be used as a Reverse Proxy in front of Speedtest Tracker when you want to expose the Dashboard publicly with a trusted certificate. You will need at add the APP_URL envoirment and needed labels to the docker compose have Traefik apply the certificate and routing.

Docker-Compose:

services:
    speedtest-tracker:
        container_name: speedtest-tracker
        environment:
            - PUID=1000
            - PGID=1000
            - APP_KEY=
            - DB_CONNECTION=sqlite
            - SPEEDTEST_SCHEDULE=
            - SPEEDTEST_SERVERS=
            - PRUNE_RESULTS_OLDER_THAN=
            - CHART_DATETIME_FORMAT= 
            - DATETIME_FORMAT=
            - APP_TIMEZONE=
            - APP_URL=https://speedtest.yourdomain.com # Change this to your domain name
            - ASSET_URL=https://speedtest.yourdomain.com # Change this to your domain name
        volumes:
            - /path/to/data:/config
            - /path/to-custom-ssl-keys:/config/keys
        labels:
            - "traefik.enable=true"
            - "traefik.http.routers.speedtest-tracker.rule=Host(`speedtest.yourdomain.com`)"
            - "traefik.http.routers.speedtest-tracker.entrypoints=websecure"
            - "traefik.http.routers.speedtest-tracker.tls=true"
            - "traefik.http.routers.speedtest-tracker.tls.certresolver=yourresolver"
            - "traefik.http.services.speedtest-tracker.loadbalancer.server.port=80"
        image: lscr.io/linuxserver/speedtest-tracker:latest
        restart: unless-stopped

Depending on your Traefik configuration, you need to make sure the Speedtest Tracker and Traefik are on the same docker network.

Added compose part
Description

APP_URL

URL you want to access the WebGui on.

ASSET_URL

URL used for loading all the needed assets. Need to be the same as the APP_URL.

traefik.enable=true

Explicitly tell Traefik to expose this container

traefik.http.routers.speedtest-tracker.rule=Host(`speedtest.yourdomain.com`)

The domain the service will respond to

traefik.http.routers.speedtest-tracker.entrypoints=websecure

Allow request only from the predefined entry point

traefik.http.routers.speedtest-tracker.tls=true

When a TLS section is specified, it instructs Traefik that the current router is dedicated to HTTPS requests only

traefik.http.routers.speedtest-tracker.tls.certresolver=yourresolver

Explicitly tell Traefik which Certificate provider to use matching your Traefik configuration

traefik.http.services.speedtest-tracker.loadbalancer.server.port=80

Explicitly tell Traefik port to use to connect to the container

๐Ÿ‘€
Traefik