roest01 / docker-speedtest-analyser

Automated docker speedtest analyser tool with included web interface to monitor your internet speed connection over time. Setup at home on your NAS (Synology, QNAP tested) and the container runs hourly speedtests. The speedtest results are displayed in an webinterface as line graph(s) over the day.
Other
109 stars 48 forks source link

Add armhf version #9

Open svenschumacher opened 6 years ago

svenschumacher commented 6 years ago

I would like to let this container run on a Raspberry 3 B+. Could you please add a armhf compatible version?

Actually, the container exits with the following logs:

speedtest_1 | standard_init_linux.go:190: exec user process caused "exec format error" speedtestanalyser_speedtest_1 exited with code 1

Thanks in advance!

roest01 commented 6 years ago

I'm willing to setup a webhook to auto build a new image whenever the repo updates. I do not however have the resources to create, test and maintain a raspberry image. Maybe using armhf/alpine as base image in an arm branch already solve this problem? Contributions are welcome.

erdnussflips commented 5 years ago

@roest01 yes, the armhf/alpine image should working for raspberry pi.

erdnussflips commented 5 years ago

@roest01 I build your Docker Image on a Raspberry Pi 3 B+, and it's working. So you could create a manifest file for multi platform images. See here: https://container-solutions.com/multi-arch-docker-images/ ?

kaoz3000 commented 5 years ago

@erdnussflips I downloaded everything and replaced FROM alpine:3.9 with FROM armhf/alpine in Dockerfile, but then I get this error:

Sending build context to Docker daemon 135.7kB Step 1/19 : FROM armhf/alpine latest: Pulling from armhf/alpine e68f2aaec91c: Pull complete Digest: sha256:5959291b202522ad454cab5ee9960d5a7bc2c59a88ddb00a5de01d36fb70ca9e Status: Downloaded newer image for armhf/alpine:latest ---> 15ed6d4bf10d Step 2/19 : MAINTAINER Tobias Rös - <roes@amicaldo.de> ---> Running in aa64deaa71ea Removing intermediate container aa64deaa71ea ---> 34833b2aaeb9 Step 3/19 : RUN apk update && apk add bash git nodejs nodejs-npm nginx nginx-mod-http-lua python3 py-pip ---> Running in d2984659eb7d fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/armhf/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/armhf/APKINDEX.tar.gz v3.5.3-45-g195c4dea45 [http://dl-cdn.alpinelinux.org/alpine/v3.5/main] v3.5.3-44-g08ec10f083 [http://dl-cdn.alpinelinux.org/alpine/v3.5/community] OK: 7846 distinct packages available ERROR: unsatisfiable constraints: nodejs-npm (missing): required by: world[nodejs-npm] The command '/bin/sh -c apk update && apk add bash git nodejs nodejs-npm nginx nginx-mod-http-lua python3 py-pip' returned a non-zero code: 1

I'm complete new to Docker ;-)

oh ups, I forgot I am using a BananaPi, but shouldn't i work, too?

kaoz3000 commented 5 years ago

Now it works for me! (Banana Pi M1) I just replaced this: FROM arm32v7/alpine because:

The armhf organization is deprecated in favor of the more-specific arm32v7 and arm32v6 organizations, as per https://github.com/docker-library/official-images#architectures-other-than-amd64. Please adjust your usages accordingly.

I got some errors at the end from nginx at startup but it works. Thank you, @roest01 for this nice Container!

BTW, this is the error: nginx: [alert] detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html) nginx: [error] lua_load_resty_core failed to load the resty.core module from https://github.com/openresty/lua-resty-core; ensure you are using an OpenResty release from https://openresty.org/en/download.html (rc: 2, reason: module 'resty.core' not found: no field package.preload['resty.core'] no file './resty/core.lua' no file '/usr/share/luajit-2.1.0-beta3/resty/core.lua' no file '/usr/local/share/lua/5.1/resty/core.lua' no file '/usr/local/share/lua/5.1/resty/core/init.lua' no file '/usr/share/lua/5.1/resty/core.lua' no file '/usr/share/lua/5.1/resty/core/init.lua' no file '/usr/share/lua/common/resty/core.lua' no file '/usr/share/lua/common/resty/core/init.lua' no file './resty/core.so' no file '/usr/local/lib/lua/5.1/resty/core.so' no file '/usr/lib/lua/5.1/resty/core.so' no file '/usr/local/lib/lua/5.1/loadall.so' no file './resty.so' no file '/usr/local/lib/lua/5.1/resty.so' no file '/usr/lib/lua/5.1/resty.so' no file '/usr/local/lib/lua/5.1/loadall.so')

doubleangels commented 4 years ago

Can confirm that building with FROM arm32v7/alpine and then running a container does indeed throw the above error, but it does work. Thanks for the help!

cyrrelsneer commented 4 years ago

Hi,

I did the same today on my RPI4 docker installation, but originally used:

FROM arm32v7/alpine

That didn't work as apparently python was not installed correctly.

Changing it to:

FROM arm32v7/alpine:3.9

did the trick for me, didn't notice any errors.

Thanks for that awesome little tool!

olvier commented 4 years ago

Hi, can somebody please explain where to change to arm32v7/alpine? For now, i do not know what to do with this information :/

jaxjexjox commented 4 years ago

Is this fully packaged for Pi now or is there some significant fiddling that needs to be done? Appreciate the hard work.

jaxjexjox commented 4 years ago

@roest01 I build your Docker Image on a Raspberry Pi 3 B+, and it's working. So you could create a manifest file for multi platform images. See here: https://container-solutions.com/multi-arch-docker-images/ ?

How does one go about doing this easily?

distancerunner commented 3 years ago

Hi, can somebody please explain where to change to arm32v7/alpine? For now, i do not know what to do with this information :/

In this Repo in "Dockerfile" the first line show FROM ... . This image is made for Synology devices. They have different CPUs. To use this image on a raspberry, you have to change this first line to FROM arm32v7/alpine:3.9

Then rebuild it on your raspberry.

Edit: I got the cron-job version working on a Raspberry 2 and a Raspi Zero Ich chnaged the fisrt line in the Dockerfile to

FROM arm32v7/alpine:3.9 for the Raspberry 2

FROM arm32v6/alpine:3.9 for the Raspberry Zero

There are errors and manually execution is not working.