Will we see an official multi-arch docker image release on Docker Hub?
Will the official docker hub repo https://hub.docker.com/r/mozilla/syncserver ever get updated with multi-arch images (armhf, armv8 etc)?
Hmm... not really sure I can answer that, but let me offer my opinion.
syncstorage-rs is the next generation build of the sync back end. We're building this for a few reasons, some of those are definitely more "fix our problems". One of the bigger ones is that we need to use something that keeps data better than what the original sync server was doing.
Running sync server on a raspberry pi for yourself, you'd be unaware of a lot of those problems. Running sync servers for hundreds of millions of users on a limited budget, and you become deeply aware of those issues.
A bunch of those are the driving reasons for why we're rebuilding in Rust and using a cloud based database. We're still absolutely keeping support for local MySQL for a number of reasons.
The nice thing is that rust offers multi platform support itself, so it should be possible to run much of the code on whatever you prefer.
So, what does all that mean?
- If there's a docker repo made, more than likely it's going to be more for our needs than anyone else's. (We're a small team (3 people) working on a big project, It's not that we don't love everyone, it's just that sometimes all we can offer is a smile and a wave as we run by.)
- That shouldn't mean that you can't build your own. It's a bit of lifting to figure to customize the
Dockerfileor thedocker-compose.yamlfile, but it's do-able. Plus, you really want to use your own master secret instead of the test one we have in there right now. - If we can make additional docker images, it'll probably not be a long term thing because, again, not really critical to what we need and we're resource strapped. It might mean that the specialized versions get orphaned because it was a critical fix and the person rolling out the deploy forgot to update the other images.
Does that help answer your question?
I had to build the images natively on an ARM device (Raspberry Pi 4B). It'd be much easier for maintainers here if docker buildx worked, since you'd be able to build for ~8 (well, actually 4, because the rust base image supports only 4 architectures) architectures for free in your regular CI. Sadly it didn't work for me - it failed on the python requirements download step if building for arm64. More exotic architectures like riscv64, 386 etc. failed even earlier (which is understandable, since the rust base image is not built for riscv64, but 386 failure is a mystery - since it's supported)
EDIT: links removed because they no longer work
@sethidden , your shared links are not accessible anymore.