Can cloudron adapt to the Hetzner Arm64 (Ampere) server?
-
There are already a few ARM related posts on the forum and the situation so far hasn't changed much. Support arm from a Cloudron perspective is no problem, but the issue lies with the apps. All of them have to be repackaged and often binaries rebuilt and then tested and this for each update. So we have to have a strong demand for this to justify the extra time spent. I am sure though eventually we will support it.
-
Yep, and strong, demand should eventually happen with the event of AI.
NVIDIA, which is an absolute player in dev and expansion of AI technologies is now working on building an ARM Data Center.
https://www.datacenterknowledge.com/machine-learning/nvidia-designing-arm-data-center-cpu-beyond-x86-ai-modelsBtw, it's a very interesting article in regard to, what's foreseen for a very short future about CPU, GPU and even general computing platforms.
-
@marcusquinn I run a nextcloud instance, mysql and all, on a Raspberry Pi at home using docker-compose. It is CPU hungry, yes, but I had no need to use a different docker tag or anything.
Ran with the same docker-compose.yml file I used on my (amd64) laptop for testing and configuration. Not sure we need to repackage for apps that DO provide multi-arch docker images.
There is a need to rewrite a bunch of the install script and initial configurations, with the addons and all. I'm not saying it is easy or trivial, please don't get me wrong. Just saying we might not need to repackage many apps.
-
@malvim said in Can cloudron adapt to the Hetzner Arm64 (Ampere) server?:
Not sure we need to repackage for apps that DO provide multi-arch docker images.
I have to tell you that your docker-compose example does not apply to Cloudron. Instead of using containers from upstream or 3rd party developers Cloudron makes its own docker image that is run. This is done so that apps share a common base image, debug tools are generally available and to tweak the software to only write data to the expected locations.
-
@malvim said in Can cloudron adapt to the Hetzner Arm64 (Ampere) server?:
Do all of them really have to be repackaged? I'm pretty sure most popular apps have multi-arch builds nowadays, so you can just use the image name and docker manages to download the correct architecture image. Is that not so?
This is mainly what I would tend to believe too. On the other hand, also many very popular apps had a very long developing curve among which few have rebuilt from scratch along the line, which makes it doubtful that they would be ready, for most of them at the very least, for running on multi-arch (I mean right now).
At that point what I believe is this is something that should be deeply investigated, eventually. I also believe, as expressed by @nebulon that the demand is still not quite there, yet. Now, should we conclude, nevertheless, it should be time to start lurking on that side? Who knows? -
@fbartels Ah, man, it's been a while since I've packaged a cloudron app, of course. My bad.
Yeah, then we'd need to rebuild every app, which is certainly a lot of work.
What about this:
- we make cloudron base images multi-arch (should be easy enough)
- we change the way we package apps that have docker images to use multiple FROM statements, using upstream images to copy stuff to cloudron's base image on the correct architecture
Not sure this is the way to go, just a thought. Does this make any sense to you guys?
Edit: I might try to package something over the weekend like this just to try it out...