Base Image Arm Support
-
Hey,
Is it possible for the Cloudron base image be updated for linux/arm64?
I know there are already threads around arm support for Cloudron/RPi:
- https://forum.cloudron.io/topic/6822/arm-official-support
- https://forum.cloudron.io/topic/7278/raspberry-pi-support
However my use case is for packaging custom apps on an arm Mac.
IIRC depending on the build flow for the base image, it might be as simple as adding the linux/arm64 platform tag. I'm happy to help with this change if pointed in the right direction.
I see there is a base-arm64 docker image however it hasn't been updated in 2 years (https://hub.docker.com/search?q=cloudron%2Fbase). Is the preference to have a different base image for arm64 support?
Cheers,
Ross
-
@girish Is this something I can help with?
-
@rossmaclean this is quite a mega project. It's not a priority for us for next few releases, but I am happy to help you along if you are interested.
It's actually not just the base image. Off my head:
- cloudron box code must work. For example, we install x86 binaries for collectd, docker and I am not sure what else.
- base image must be ported
- each addon (mysql, postgres, redis, mongo, graphite, filemanager etc) must be ported
- each app must be ported. many apps use x86 binaries. there's almost 150 of these by now.
I think the appstore (and the app manifest) also needs changes to mark if an app support arm or not.
So... I don't know if you have the apetite for this It really is a very big project.
-
@girish I might be misunderstanding something, but I'm not suggesting Arm support for the box etc. I just want to be able to build my app container locally on my arm Mac for testing. It will still be built as amd64 when deploying to Cloudron.
-
@rossmaclean ah right for this the build service app works well, after setup you can just run
cloudron build
in the package repo without having to commit/push in the repo. If you have it installed on the same server as you are testing the app, then this has the benefit that the image is already there and thus speeding up the process.