calpaterson / csvbase

a simple website for sharing table data - with an API
https://csvbase.com
GNU Affero General Public License v3.0
372 stars 12 forks source link

Will this run on an ARM64 Raspberry Pi? #126

Open mcotdev opened 3 months ago

mcotdev commented 3 months ago

Description

Ran the current Dockerfile and Docker Compose files on a ARM64 Raspberry Pi, but ended up with a exec format error. Works fine on a AMD64.

calpaterson commented 3 months ago

Are you able to paste the error for me? I don't have an arm64 machine to test with.

There are a couple of native code libraries that csvbase does use, likely the issue is with those.

I'm open to making a change to add support for amd64 if it's straightforward.

maroneze commented 3 weeks ago

I tried building and running the Docker image and got (after a successful build):

exec /tini: exec format error

I guess just replacing https://github.com/krallin/tini/releases/download/v0.19.0/tini with https://github.com/krallin/tini/releases/download/v0.19.0/tini-arm64 might work. So maybe adding -$TARGETARCH to the tini download could work (after adding ARG TARGETARCH to the Dockerfile, as indicated here). But I didn't test it all the way, and it requires BuildKit, so I'm not sure how straightforward it really is in practice.

calpaterson commented 3 weeks ago

I'm frankly not 100% sure that tini is something that is necessary in our docker container. It was added ages ago by an outside contributor and I wasn't really sure at the time whether it was still a best practice.

I have to fix a bug right now but if I removed it, could you re-run and paste the error? Or otherwise advise how I can run arm64 builds myself?

maroneze commented 3 weeks ago

Sure, I have a Raspberry Pi that I can use to test it. Unfortunately it is not publicly available so I don't know how you could test on arm64 by yourself.