Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aarch64 support #5765

Closed
emilburzo opened this issue May 29, 2022 · 30 comments
Closed

aarch64 support #5765

emilburzo opened this issue May 29, 2022 · 30 comments
Assignees
Labels

Comments

@emilburzo
Copy link

emilburzo commented May 29, 2022

Issue Summary

I'm trying to run redash on a Raspberry Pi 4B.

From the existing topics I could find it seems like this should be supported:

But I must be doing something wrong as I still can't seem to get it to work:

standard_init_linux.go:228: exec user process caused: exec format error

Steps to Reproduce

# docker run --rm redash/redash:preview
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error

Technical details:

  • Redash Version: preview docker hub tag
  • Browser/OS: Ubuntu 20.04.4 LTS
  • How did you install Redash: docker
@teascanner
Copy link

Any update on this?

@justinclift
Copy link
Member

@guidopetri has been doing some work and testing around this. Things don't completely work "out of the box" yet, but we shouldn't be a long way off.

@guidopetri
Copy link
Contributor

I've found that the redash image builds, but a) we haven't implemented it in an auto-image build and b) I haven't verified full functionality

@guidopetri
Copy link
Contributor

Update here - we tried building the image in the CI but it took way too long (it hit the Github Actions apparent limit of 6 hours). We'll have to rethink our approach to building the image automatically.

That being said, as mentioned above, I was able to build this on a raspberry pi locally in ~1h, and it seems to run fine. So if you're able to build it locally, that is an option for now.

@AndrewChubatiuk
Copy link
Contributor

arm64 support was added in #6674

@justinclift
Copy link
Member

@AndrewChubatiuk Lets try and get some of the people who've asked for this to verify it works for them before we close the issue. 😄

@emilburzo @teascanner Are either of you still around and interested in trying this out? 😄

Along these lines, it sounds like @square-li is attempting this exact thing too. Lets make sure it all works properly.

@justinclift
Copy link
Member

@mxmua Any interest in having a go at this too? 😄

@justinclift
Copy link
Member

@mogopz @fliplafe @bomwo @junhodo @yasuno0327 @AmitArie Any interest in trying this out as well? 😄

@smmathews
Copy link

smmathews commented Apr 17, 2024

I've verified the fix on Raspberry Pi 5

pi@pi5:~ $ docker run -e REDASH_COOKIE_SECRET=cookie --rm redash/redash:preview
Starting Redash Server in a dev mode
[2024-04-17 19:59:07,310][PID:1][INFO][xmlschema] Resource 'XMLSchema.xsd' is already loaded
 * Debug mode: on
[2024-04-17 19:59:08,130][PID:1][INFO][werkzeug] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://172.17.0.2:5000
Operating System: Debian GNU/Linux 12 (bookworm)  
Kernel: Linux 6.1.0-rpi7-rpi-2712
Architecture: arm64

@justinclift
Copy link
Member

Awesome, thanks heaps for checking @smmathews. 😄

@AndrewChubatiuk Looks like you've really helped out a bunch with the aarch64/arm64 support too. Well done. 😄

@florian-besser
Copy link

This issue seems to have regressed @justinclift @AndrewChubatiuk
If I check out https://hub.docker.com/r/redash/redash/tags I can only see AMD64 as a supported arch (for all tags)
Using an M1 mac with ARM architecture and docker pull redash/redash:preview yields error Error response from daemon: no match for platform in manifest: not found

Could it be this was somehow removed after the PR was merged?

@justinclift
Copy link
Member

Uh oh. Yeah it's probably related to that (!). 😦

@pauljura
Copy link

Hi team, is there any activity on this? Does this issue need to be re-opened?

I am trying to move our current Redash deployment to new ARM-based AWS EC2s and cannot pull a compatible image.

@lucydodo
Copy link
Member

Maybe I'll have time to look at this this weekend. :)

@lucydodo lucydodo reopened this Jul 24, 2024
@lucydodo
Copy link
Member

Well, I had a quick look at it over the weekend and it takes a long time to build ARM64 in emulation, so I can't commit it yet. I'll try to figure out how to improve the speed, just give me a little more time :)

@mmospanenko
Copy link

Github has arm runners if it will help. But ARM arch it is necessary, waiting for "fix" :)

@lucydodo
Copy link
Member

Yes, but the ARM64 runner is still only available to Team and Enterprise plan users.
I have managed to reduce the speed somewhat with other methods and am currently in the middle of final testing.

Tomorrow is the start of August, so new snapshots will be created and deployed via Docker Hub, so I'm hoping to have this done by the end of the day. I successfully created an ARM64 image in my last test, so it shouldn't be a problem.

@mmospanenko
Copy link

Oh, I did'n know about it, always use self-hosted runners. Recently I optimized our Django app (enough big, tons of deps) and base image (os) has significant impact on build time, just FYI
Thank you for the great job!

@lucydodo
Copy link
Member

lucydodo commented Aug 1, 2024

A PR has been created with an improvement to address this issue: #7094
It's in the review phase and I'll let you know when it's finished and an image has been created. :)

@justinclift
Copy link
Member

The above mentioned PR has been merged. 😄

@lucydodo
Copy link
Member

lucydodo commented Aug 2, 2024

Screenshot 2024-08-03 at 04 29 52

https://hub.docker.com/layers/redash/preview/24.08.1-dev/images/sha256-56a45bfefb2382aebafbd00bdbeedb7b22a1a935459b8e6980cffd9bb3a0e79f?context=explore

New preview images with ARM64 support in Docker Hub are now available! 🚀
Could you please check it out and let us know? :)

@pauljura
Copy link

pauljura commented Aug 5, 2024

This looks like it might work, but the nginx service isn't working. Any chance you can build redash/nginx for ARM64 as well? :)

@lucydodo
Copy link
Member

lucydodo commented Aug 5, 2024

Hi @pauljura, Thank you for your confirmation.
I don't think it should be difficult, but I don't know where those image builds are coming from.*
I'll ask the other maintainers and try to fix Nginx to support the AArch64 platform as well.

*: I've just joined the team, so I'm not familiar with the codebase, infrastructure, etc. yet :)

@lucydodo lucydodo self-assigned this Aug 5, 2024
@lucydodo lucydodo added the CI label Aug 5, 2024
@lucydodo
Copy link
Member

lucydodo commented Aug 5, 2024

https://hub.docker.com/layers/redash/nginx/latest/images/sha256-4335d3d7bc99e72375b6b94452d1bbe5382e5db9eb9b6e4d17e29264c1e4fe8e?context=explore

@pauljura Nginx docker images for ARM64 platforms are also available frow now.
Could you please check it out and let us know? :)

@pauljura
Copy link

pauljura commented Aug 6, 2024

@lucydodo Hi, I got it working, no issues so far. Thank you!

PS. I also had to follow all the steps in the 'How to upgrade' docs, this was my first time migrating Redash to a new server, but eventually figured everything out and it works.

@lucydodo
Copy link
Member

lucydodo commented Aug 6, 2024

Glad to hear it's resolved, I'll close the issue :)

@lucydodo lucydodo closed this as completed Aug 6, 2024
@zentavr
Copy link

zentavr commented Aug 31, 2024

Well, I had a quick look at it over the weekend and it takes a long time to build ARM64 in emulation, so I can't commit it yet. I'll try to figure out how to improve the speed, just give me a little more time :)

We used to attach custom AWS Codebuild nodes into Github Actions in order to build ARM64 images. The process looks like:

  1. Build an image for amd64
  2. Build an image for arm64
  3. Merge them with a single manifest

@lucydodo
Copy link
Member

Well, I had a quick look at it over the weekend and it takes a long time to build ARM64 in emulation, so I can't commit it yet. I'll try to figure out how to improve the speed, just give me a little more time :)

GitHub has finally released free-tier ARM64 runners for public repositories today. I tested it right away, but unfortunately, there seems to be an issue with actions/setup-node@v4, so it looks like I can’t apply it right away.
The same issue has already been reported, so I’ll test it again and write a PR as soon as it’s resolved. :)

@zentavr
Copy link

zentavr commented Jan 17, 2025

Hello @lucydodo.
What kind of issues do you have when building the image on ARM64 with actions/setup-node@v4?

I have a couple of internal node.js projects here internally and we are building them in pretty adequate time.

@lucydodo
Copy link
Member

lucydodo commented Jan 17, 2025

Hi @zentavr ,I received the following error:
Error: Error: EACCES: permission denied, open '/home/runneradmin/.config/yarn'

It seems that the current ARM64 runners do not have proper permissions for the path inside $HOME/.config.
Other projects accessing .config also encounther the same issue and fail.

Related:

Well, Now fixed. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests