do you guys need prebuilt arm images? i have to use docker buildx with actual arm emulator :sadpepe: containers instead of kaniko to make them. i wonder if there’s enough rpi or w/e users out there to actually bother.
i mean it was somewhat fun to figure out how to make those, but in the end kaniko is just better in every way imaginable and i’d rather not deal with buildx at all.
note: i don’t have an arm device i could use to build those images natively.
i run prebuilt arm images off docker hub and i don’t want to make my own
i run prebuilt arm images but i’m fine if i need to make my own
I run the prebuilt arm docker images in an arm based cloud instance. It is certainly easier for me to have you build them, but by no means a deal breaker. I built the arm docker images for a few weeks before you started offering the prebuilt ones, and I recall it was easy enough to manage.
What about offloading the whole build to one of the SaaS hosts? You can use a GitHub or GitLab workflow for free without rehoming the source, and they both offer container registries too.
At the end of the day, nobody should have to do CI/CD for free. Especially CI/CD infrastructure management. That’s just… mean.
i’d rather not take this outside, besides i dunno where i could use armv7 & arm64 gitlab runners for free. i’m definitely not paying for it (even if i could, given the you know what).
ditching buildx means i can ditch dedicated gitlab runners and run all my CI needs on k3s which would simplify things a lot.
This wasn’t too hard to get going. A few notes/bugs, though.
As written, the Dockerfiles are trying to pull alpine images from registry.fakecake.org, so an easy fix to remove that reference, but I couldn’t use them as they were.
Next, the line you have
is missing a . docker build -t ttrss-nginx . -f .docker/web-nginx/Dockerfile
I found it easier to integrate the build into my docker-compose.yml file. In the old version of the file I had
I think, if I understand correctly (and I might not), that if the registry.fakecake.org reference were changed in the official repository, then I could change the path in context: to be https://git.tt-rss.org/fox/tt-rss.git instead of having to manually do a git clone or pull and edit the Dockerfiles.
So, putting it together for other people reading, this is how I modified using my old arm64 setup based on the pre-built images to one using my own built images.
Go to the directory where your TT-RSS docker-compose.yml lives
Do a git clone https://git.tt-rss.org/fox/tt-rss.git
The Dockerfile in tt-rss/.docker/app and tt-rss/.docker/web-nginx need to be edited
In each, find the line that is similar to FROM registry.fakecake.org/docker.io/alpine:3.18
Change it to FROM alpine:3.18 or whatever the name of the image originally was
Modify your docker-compose.yml to include the build: lines as detailed above
Below is my docker-compose.yml file as an example. It almost certainly is not a drop-in replacement for what you already have.
I could change the path in context: to be https://git.tt-rss.org/fox/tt-rss.git instead of having to manually do a git clone or pull and edit the Dockerfile s.
and then ran docker-compose build and it all just worked. It pulled down the app and web-nginx, but not the whole repository. If the Dockerfile had an ADD ../../foo.conf or something in it, then it would probably break.
In conclusion, obviously it is easier if you do the work of building the arm images, but this is barely any effort for me to manage. Additionally, the same thing should work if somebody wants to run tt-rss on powerpc or something.
i think this also functionally deprecates no-image setup in master branch and maybe even this separate docker script repo entirely. i could move docker-compose.yml & .env to main tt-rss repo (or repo wiki?) and archive this whole thing. its basically just two files now.
i hope this would simplify things for people, rather than dealing with a separate repo what with multiple branches and stuff, they would have all the information right there in front of them.