lowcoder
lowcoder copied to clipboard
[Bug]: Docker images are not multiarch
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
The lowcoderorg/lowcoder-ce-api-service:2.3.1 image is AMD64 only, but ARM64 images are also built under a different tag lowcoderorg/lowcoder-ce-api-service:2.3.1-arm64.
This makes scripts not portable between for example Linux/x64 and Linux/arm64 (or Apple silicon)
Expected Behavior
Multi arch Docker images should use the same tag, so that lowcoderorg/lowcoder-ce-api-service:2.3.1 is used regardless of architecture. This makes referencing the images much easier. It should be as easy as sending all the needed platforms to Docker BuildX.
See for example https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/
Steps to reproduce
Reference the image, e.g lowcoderorg/lowcoder-ce-api-service:2.3.1. Observe that the
Environment
No response
Additional Information
No response
The workaround until this image is fixed:
- Create
Dockerfile.amd64withFROM lowcoderorg/lowcoder-ce-api-service:2.3.1 - Create
Dockerfile.arm64withFROM lowcoderorg/lowcoder-ce-api-service:2.3.1-arm64 docker buildx build --load --platform linux/amd64 -t my-lowcoder-ce-api-service:2.3.1-amd64 -f Dockerfile.amd64 .docker buildx build --load --platform linux/arm64 -t my-lowcoder-ce-api-service:2.3.1-arm64 -f Dockerfile.arm64 .docker buildx imagetools create -t my-lowcoder-ce-api-service:2.3.1 my-lowcoder-ce-api-service:2.3.1-amd64 my-lowcoder-ce-api-service:2.3.1-arm64
Repeat for all images (frontend, node, etc)
my- above is replaced with a private registry of choice, e.g. ghcr.io/my-org/my-
We have now introduced automated builds which already create multiarch images. Current latest and dev images are already multiarch and from next release also the release images will be multiarch.