okay - a quick how to make an emoncms container that are in different arch-- this took most of the day to figure out as the information is very sparse and far between
install docker on your computer
basically follow the information found here for installing docker
this will only give you your basic compiling needs either i386 or amd64 for most
to beable to build you have to install qemu and and the other arch you wish to compile for in my case it was arm
so you install qemu and qemu-system-arm
apt install qemu qemu-system-arm
now you need to update docker using the new binfm tag
obtained from here
https://hub.docker.com/r/docker/binfmt/tags
then run this with newest tag
sudo docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64
then run this to see if qemu is running
$ cat /proc/sys/fs/binfmt_misc/qemu-aarch64
and it out put something like this
**enabled**
interpreter /usr/bin/qemu-aarch64
flags: OCF
offset 0
magic 7f454c460201010000000000000000000200b7
now you can check what architectures docker supports
docker buildx ls
and hopefully it outputs something like this
default running 20.10.21 linux/amd64, linux/386, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/arm/v7, linux/arm/v6
now you can try to build your emoncms container
first setup emoncms
git clone https://github.com/emoncms/emoncms-docker
cd emoncms-docker
./bin/setup_dev_repositories
now prepare buildx
docker buildx create --name mybuilds
docker buildx use mybuilds
docker buildx inspect --bootstrap
now to create different archs
docker buildx build --platform linux/amd64 -t emoncms-amd64 --load .
docker buildx build --platform linux/arm64 -t emoncms-arm64 --load .
docker buildx build --platform linux/arm/v7 -t emoncms-arm32 --load .
or to build and push to your docker hub
docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64` --tag <user name>/emoncms:latest .
well hopefully all goes well and you have built working emoncms containers for different architectures
edit: so I tried on fresh install just to see if it works from a fresh install this method. so some weirdness appeared it would not work until qemu and qemu-system-arm was installed but after reboot it stop working until qemu and qemu-system-arm was removed ( including autoremove) then it would work after each reboot. but slightly less was removed then installed so I guess it was missing a few essential file to make it work on flavour of linux . plus docker-desktop had to be install to allow upload to docker-hub