Devilbox and raspberry pi - arm processor

After installing docker and docker-compose (the last one was tricky) on my raspberry pi 3, on latest raspbian os, I cloned devilbox and attempted a docker-compose on it. Didn’t get it to work, with random errors (several modules – mysql, bind … – dropping with error code 1).

It was just an experiment (performance-wise it would be terrible, I guess). So I am asking just to confirm – should devilbox be compatible with ARM architecture like the one on the Pi?

Thanks.

EDIT: tried as well with Ubuntu Server 18.04 LTR 64bit running on a new Raspberry Pi 4B with 4GB RAM, and still same errors. Services exiting with error code 1 and several “exec format error” messages.

It’s probably because of the ARM architecture.

Yes, I think you must be right :frowning:

Just a brief followup: I’m running Ubuntu Server (64bit) in my Pi, with docker and docker-composed installed and functional. And I have deployed a (very basic) lamp stack, and it all turns out on choosing the images with the right architecture (arm64) at Docker Hub. And unfortunately @cytopia images are not arm compatible. I wonder if it’s too much complicated to make these images (and thus Devilbox) compatible with Arm architecture. Not sure if “it’s worth it” since the user base must be tiny. Still I will do my best at making my lamp dev enviroment in my Pi and I really wished I could bring Devilbox to it (altough I am learning a lot on Docker right now).

C’mon look at it … isn’t it cute …

2 Likes

Hey ! Thanks for the update.

PS. You’ll need a heat-sink

Yes, at least. But I think I’ll go for active cooling (like the fan shim) with maybe the Pibow Coupé 4 case. They go nice together. I’m currently getting ~60/65 ºC, and I think these will make temperature drop at least 30ºC.

Will look like this:

Getting back to topic: maybe the way of getting Devilbox to work under Arm is to – somewhere – choose the right Arm images. I’ll investigate.

I wonder if this might help in the near future: https://collabnix.com/building-arm-based-docker-images-on-docker-desktop-made-possible-using-buildx/

I would go with passive cooling. There are full aluminium body cases that attach to the cpu and spread the heat to the whole body.

Maybe an option if they work too. The FLIRC Raspberry Pi 4 Case seems very nice and a perfect match for macbook.

@cytopia - sorry for bothering you directly … just wondering if making devilbox work on arm processors is under consideration / somewhere in the roadmap or if it’s a childish dream :slight_smile: - or if that is possible already with custom packages defined in docker-compose.override.yml ? Thank you.

@bmscmoreira I won’t have the capacity/resources to do that, as I am only working on this in my spare time and the project with all the bells and whistles already takes up varying 10-20 hours a week - mostly keeping everything up-to-date.

I am still struggling on a few reported bugs that I cannot reproduce and also have other major points on the agenda that need to be done first (Roadmap ticket on GitHub)

So I guess my next 12 months are pretty packed to further improve this project.

However, I’d like to also have more support, so If you want to tackle this issue I am more than happy.

Thanks. Devilbox as it is is already incredible and we all just have to be thankful for you sharing it. I am no expert in managing docker / servers but I’ll do my best to try and make (some) things work on arm. I’ll post here if I have any success.

1 Like

Hi,
i tried to use buildx and have created an Multiarch clone from the first part of the devilbox.
So i have build bigwasp/bind from cytopia/bind and pushed to dockerhub

b83c859c4d3f linux/amd64 55.47 MB
00a7538d9161 linux/arm/v7 49.12 MB
1c5ee4fce619 linux/arm64 53.67 MB

I tried to get all images multiarch next week, so we hopefully can run it on Raspi with 32 and 64bit architecture.
It is build from my x86 Lapptop with buildx extension with docker

regards
bigwasp

1 Like

Thanks. That would be great! Arm is the future! I have tried using buildx a few months ago but didn’t have any success.

@cytopia
Now i am able to build such multiarch images, but i struggle a little bit
what is needed. In docker-php-fpm there are many dockerfiles what should i provide for the first shot?

The Build is very easy - I just followed this https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/getting-started-with-docker-for-arm-on-linux

first run binfmt to enable emulation of Arm executables
docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3

the build command (push needed - multiarch makes only sense in an repository)
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t bigwasp/bind --push .

After a bit of struggle I ended up doing something I wanted to do for a long time: bought a Synology NAS. Now that machine does everything, from media serving to document archive, private cloud ala dropbox, backups + bitwaden, pihole, portainer (via docker on the host system) + a VM with ubuntu server where now Devilbox lives for local development. I now hope to use Devilbox more often and also contribute to this great project. Thank you @cytopia for your efforts.

1 Like

I gave arm64 building a try, however it is currently not accomplishable. See here for details: https://github.com/cytopia/devilbox/issues/855#issuecomment-1030902002