Skip to content

Docker Installation

Henry Whitaker edited this page Nov 29, 2020 · 3 revisions

A docker image is available here, you can create a new conatiner by running:

Using Docker create

docker create \
      --name=speedtest \
      -p 8765:80 \
      -v /path/to/data:/config \
      -e OOKLA_EULA_GDPR=true \
      --restart unless-stopped \
      henrywhitaker3/speedtest-tracker

Using Docker Compose

version: '3.3'
services:
    speedtest:
        container_name: speedtest
        image: henrywhitaker3/speedtest-tracker
        ports:
            - 8765:80
        volumes:
            - /path/to/data:/config
        environment:
            - TZ=
            - PGID=
            - PUID=
            - OOKLA_EULA_GDPR=true
        logging:
            driver: "json-file"
            options:
                max-file: "10"
                max-size: "200k"
        restart: unless-stopped

Images

There are 2 different docker images:

Tag Description
latest This is the stable release of the app
dev This release has more features, although could have some bugs

Raspberry Pi / arm

Due to docker hub limitations, there isn't a pre-built image that will work on arm devices, you can run this script on a pi to build an image for a pi. Use the --dev argument when calling the script to build the dev image.

Parameters

Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.

Parameter Function
-p 8765:80 Exposes the webserver on port 8765
-v /config All the config files reside here.
-e OOKLA_EULA_GDPR Set to 'true' to accept the Ookla EULA and privacy agreement. If this is not set, the container will not start
-e SLACK_WEBHOOK Optional. Put a slack webhook here to get slack notifications when a speedtest is run. To use discord webhooks, just append /slack to the end of your discord webhook URL
-e TELEGRAM_BOT_TOKEN Optional. Telegram bot API token.
-e TELEGRAM_CHAT_ID Optional. Telegram chat ID.
-e PUID Optional. Supply a local user ID for volume permissions
-e PGID Optional. Supply a local group ID for volume permissions