Speedtest-Tracker icon indicating copy to clipboard operation
Speedtest-Tracker copied to clipboard

[BUG] Speedtest is not working because speedtest-cli requires accepting the license before use

Open rostfirsikov opened this issue 2 years ago • 7 comments

Describe the bug The freshly installed speedtest-tracker is not working because fresh ookla speedtest-cli requires accepting the license before use.

I kindly request the developers to add some automation to this process.

Context

  • OS: Docker, Ubuntu
  • Speedtest Tracker Version: 1.12.0

Additional context

docker-compose.yml:
version: '3.3'
services:
    speedtest:
        container_name: speedtest
        image: henrywhitaker3/speedtest-tracker
        ports:
            - 8008:80
        volumes:
            - ./config:/config
        environment:
            - TZ=Europe/Kiev
            - PGID=1000
            - PUID=1000
            - OOKLA_EULA_GDPR=true
        logging:
            driver: "json-file"
            options:
                max-file: "10"
                max-size: "200k"
        restart: unless-stopped

/config/log/queue.log:

[2023-08-08 13:32:54][1] Processing: App\Jobs\SpeedtestJob
[2023-08-08 13:33:03][1] Failed:     App\Jobs\SpeedtestJob

container log with problem:

==============================================================================
You may only use this Speedtest software and information generated
from it for personal, non-commercial use, through a command line
interface on a personal computer. Your use of this software is subject
to the End User License Agreement, Terms of Use and Privacy Policy at
these URLs:
	https://www.speedtest.net/about/eula
	https://www.speedtest.net/about/terms
	https://www.speedtest.net/about/privacy
==============================================================================
To accept the message please run speedtest interactively or use the following: 
    speedtest --accept-license

rostfirsikov avatar Aug 08 '23 13:08 rostfirsikov

I solved my problem the hard way.

I entered the container.

docker exec -it speedtest bash 

Edited /etc/passwd with nano. Changed the shell to bash for user abc. Executed the command:

su - abc -c '/config/www/app/Bin/speedtest'

And accepted the license agreement.

But this approach is not for beginners. Something needs to be changed!

rostfirsikov avatar Aug 08 '23 15:08 rostfirsikov

Same bug here, I used your workaround, @rostfirsikov and it worked. Thanks!

mouledla avatar Aug 13 '23 14:08 mouledla

For future souls who happen across this issue thread, I made a new image that fixed this problem - here is the docker compose:

version: '3.3'
services:
    speedtest:
        container_name: speedtest
        image: kylebisson01/speedtest:nonroot
        ports:
            - 8765:80
        volumes:
            - [config location]:/config
        environment:
            - TZ=[Timezone e.g. America/New_York]
            - PGID=1000
            - PUID=1000
            - OOKLA_EULA_GDPR=true
        logging:
            driver: "json-file"
            options:
                max-file: "10"
                max-size: "200k"
        restart: always

theBissonBison avatar Aug 16 '23 08:08 theBissonBison

This worked perfect for me! Thanks!!

mguffin68 avatar Aug 24 '23 21:08 mguffin68

I don't see this as an bug. It is a 3rd party requirement which needs to be done by the user of the software, not automatically. It is pretty easy to add the necessary environment variable to the container. No change needed.

McFcologne avatar Aug 25 '23 15:08 McFcologne

Please, tell me the name of the required environment variable.

I didn't find the necessary point in the documentation. And the parameter - OOKLA_EULA_GDPR=true is set in my dockercompose.yml.

rostfirsikov avatar Aug 25 '23 15:08 rostfirsikov

I edited my above comment with the image, which still uses the original OOKLA_EULA_GDPR environment variable and non-root user while implementing the fix from rostfirsikov's comment. It seems to be working now.

theBissonBison avatar Aug 26 '23 04:08 theBissonBison