Speedtest-Tracker
Speedtest-Tracker copied to clipboard
[BUG] Speedtest is not working because speedtest-cli requires accepting the license before use
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
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!
Same bug here, I used your workaround, @rostfirsikov and it worked. Thanks!
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
This worked perfect for me! Thanks!!
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.
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.
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.