Closed drpaneas closed 3 years ago
Seeing your matrix-sto-spiti project.
If you're using this image as part of matrix-docker-ansible-deploy, then the playbook automatically builds this Docker image on the device itself due to matrix_mailer_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
that we have in group_vars/matrix_servers
.
As of this writing, I'm building all these images manually (I know, I should set up some build pipeline) and I haven't spent time into figuring out how to build an ARM image (or better yet, a multi-arch Docker image), so providing Raspberry Pi 4 images is a little difficult.
I ma using RPi4 (that is aarch64) using "Ubuntu 20.04.1 LTS" and the ansible didn't build any of the images. In a matter of fact it tried to install docker-ce, while I had docker.io (from the official repository) already present. I had to build manually 4 images for the following services:
/etc/systemd/system/matrix-coturn.service /etc/systemd/system/matrix-ma1sd.service /etc/systemd/system/matrix-mailer.service /etc/systemd/system/matrix-client-element.service
And change the tag to a few others since ansible picked the amd64 versions and they didn't work on my rpi4 (obviously).
Well, the good thing is that eventually I've managed to make it work, so there two things missing here:
What I can do is:
Then, I need to spend some time reading the ansible so I can submit a PR by supporting Ubuntu 20.04 on Raspberry including my images.
WDYT?
We support ARM32 and ARM64 for many of our images, either through building images on the device itself (during playbook execution) or by pulling an alternative image for the architecture you're running.
Take a look at this:
matrix_architecture: "arm64"
should be enough to make you go a long way. Not all components support self-building (or pulling a ready-made image), but most do.
I suggest you:
vars.yml
file to include matrix_architecture: "arm64"
--tags=stop
)amd64
architecture and we won't force re-pull everything by default) - use docker rmi ...
to get rid of images--tags=setup-all,start
) - it will pull ready-made arm64
images or self-build them right on the deviceTo prevent the playbook from trying to install docker-ce
on your machine, you can use this: matrix_docker_installation_enabled: false
works like a charm; thanks
Can you provide builds for Raspberry Pi 4?