Linux/arm64/v8 build

When trying to run DMX on a Raspberry Pi, I get:

! dmx The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

Could we consider cross-compiling the Docker Images with a matrix pipeline into multiple architectures?

Hi @yala! We can at least look into it and let you know if that is something we want to dive into ATM. In case you’d already have a suggested solution, please feel free to share it. Thx!

1 Like

@jpn Would you like to invite me to dmx-contrib / dmx-docker · GitLab so I can help with maintaining the Docker environment through PRs?

I feel somewhat disconnected from DMX development, since there is no public entry point for me to collaborate on the artifacts published to Container registry · dmx-contrib / dmx-docker · GitLab

You could use my username here @ the other non-GMail email domain of verified addresses in my user profile.

Unfortunately doing an (unprivileged) cross platform build in GitLab CI is not trivial.

To avoid privilege escalation, it’s recommended to use Kaniko.

GitLab maintain example projects on how to use that on CI

Kaniko itself is a multi-arch image that can be used natively across platforms.

In contrast, for cross-compiling into another architecture, it is necessary to build with buildx and QEMU, which requires root privilege. Once both are present, the pipelines should run just fine on the existing runner infrastructure. Sufficient security isolation of them will be required.

I’d love to play with both paths, so please let me know if I can donate an arm64 GitLab runner to the DMX community or play with buildx/QEMU on git.dmx.systems.