server icon indicating copy to clipboard operation
server copied to clipboard

Multi-Arch Docker Image

Open mattheys opened this issue 5 years ago • 8 comments

Is your feature request related to a problem? Please describe. I want to create and maintain a platform independent docker-compose file to build my home automation system on any hardware, x86 VPS or Arm SBC.

Describe the solution you'd like It would be useful therefore if Gotify were to use the Docker Multi-Arch build process so that it only be referenced by gotify/server regardless of which platform it is running on. (https://www.docker.com/blog/multi-arch-images/)

Describe alternatives you've considered I could attempt to do the build process myself but it would then mean it would slowly drift out of sync with any updates and Watchtower would not work unless I went in and rebuilt the image myself when I knew there was an update.

Additional context The Multi-Arch build process also builds more Arm versions than just v7 for example it also builds v6 and arm64 which would enable wider support of devices (older Pi's) or performance gains on more modern arm64 devices.

mattheys avatar Jan 15 '20 11:01 mattheys

Here is a link to someone who has done this without Docker Desktop using GitLab CI. https://medium.com/@bamnet/building-multiarch-docker-images-8a70002b3476

mattheys avatar Jan 15 '20 11:01 mattheys

I've already created a multi-arch build for another project of mine -> https://github.com/traggo/server/blob/a46aba9b928a7d3cd59146b3b2750d820687b636/Makefile#L139

this can probably be reused.

jmattheis avatar Jan 15 '20 12:01 jmattheis

buildx is the best option to this. We can also set up actions and use the crazy-max/ghaction-docker-buildx.

@jmattheis if you think it is fine. I will try this weekend.

KROSF avatar Aug 24 '20 17:08 KROSF

I haven't worked with buildx yet, so I can't give an answer to this now. This project currently uses travis-ci for the build pipeline, so using a github action isn't an option.

jmattheis avatar Aug 24 '20 19:08 jmattheis

Another example with GitHub actions. ARM32, ARM64 & AMD64 https://github.com/NoahCardoza/CloudProxy/pull/32/files

ngosang avatar Nov 22 '20 16:11 ngosang

Any update about multi arch?

ionutz89 avatar Apr 28 '21 18:04 ionutz89