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

Fixes #480: Builds multi-platform image for both amd64 and arm64 #485

Closed
wants to merge 4 commits into from

Conversation

antevis
Copy link

@antevis antevis commented Nov 4, 2024

At build stage, you pass --platform argument, like so:
--platform linux/amd64,linux/arm64

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Adopt parent repo changes
@saleh-mir
Copy link
Member

Hey, I'm a complete Docker novice. Can you tell me exactly which command I should run?

Also, do I need to run each build on its own CPU architecture? Do I need to build the AMD64 version on a machine with that architecture and the ARM version on a different server for it to work?

@antevis
Copy link
Author

antevis commented Nov 7, 2024

I build manually on an Apple silicon Mac with Docker Desktop installed:

docker build --platform linux/amd64,linux/arm64 -t <dockerhub_username>/jesse:<version> --push .

docker build is actually an alias for docker buildx build
this builds the multi-platform image and pushes it to Docker hub:
https://hub.docker.com/repository/docker/polyconnect/jesse/tags

Your workflow is likely different, but the basic idea is the same

here's the relevant documentation, where the process is described in details, including what pre-requisites should be met:
https://docs.docker.com/build/building/multi-platform/

@saleh-mir
Copy link
Member

Thank you for such detailed and quick response.

@edu-diaz
Copy link

@saleh-mir could this change be merged?

@saleh-mir
Copy link
Member

Hi there, I tried working on this. Unfortunately, I decided not to move forward because some of the packages that we need are not updated constantly.

If I try to keep the arm support, things will get significantly more complicated and difficult to maintain for me.

On the other hand, I removed some of the dependencies that were difficult to set up, so now installing natively on all operating systems should be easy.

Since version 1.7.0

@saleh-mir saleh-mir closed this Feb 12, 2025
@saleh-mir
Copy link
Member

I appreciate your pull request and efforts.

@edu-diaz
Copy link

@antevis I added a parallel build for the image to arm64 in my repo package:

https://github.com/TrianaLab/jesse-chart/pkgs/container/jesse-arm64

Although it works fine in my arm64 linux cluster, the live trade plugin is not compatible, which is the issue that @saleh-mir mentioned. Still I'll keep building it for arm64 on any new version just in case anybody feels it's useful without the live-trade plugin

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

Successfully merging this pull request may close these issues.

None yet

3 participants