Sometimes we do complex stuff just for the sake of learning, and that's the essence of why we have home labs.
I built a Fedora container image (for an Ansible execution environment), from inside an Ubuntu container, that is running inside another Ubuntu container (Forgejo runner), while all of them were using the same underlying Docker-in-Docker, running from a Docker Compose (where Forgejo and the Runner also are), on a Debian base OS, on a Raspberry Pi.
Did I need to do that? Absolutely not. Did I like doing it? Obviously yes!
Now I just need to find the time and the head space to write a blog post about it.
Fun! While writing a blog post about my findings related to Forgejo runner and Docker-in-Docker, I realized I made a few mistakes, and was able to fix them.
So that proves that old saying: the best way to learn, is to teach.
Ugh! I created a complication for my own self.
While writing a blog post about my findings related to Forgejo runner on a Raspberry Pi, I realized that I also needed a runner to build x86 (amd64) images. So now I am adding a lot more steps to my setup (still debating between LXC or KVM on Proxmox).
The blog post has been severely delayed.
Okay, here's something that is killing my Forgejo runner experiment: I need the perfect container image. The ones I have tried so far are missing one thing or another, and it's taking me a while to deal with that.
So, instead of trying to build my own image, let me ask the hive mind if anyone knows of a single *reliable* container image that has all of the following *already* installed: Python, NodeJS and Docker CE (or Podman).
And no, I'm not looking for a container image built buy a random guy for their own personal use. That guy could be me. I really want something that is supported as part of a larger project.
My sanity thanks you.
Enough mucking around with these Forgejo runners. I have a working solution, which is not the best, but it's functional, and is what I need to finish the blog post. At some point in the future I can think about version 2.0, with a better container image (or my own, who knows).
wow! Mind blown!
Thanks to a response from @Codeberg , I found out about the container image generated by "catthehacker" (link below), and it's amazing! This image does *everything* I need, so the workflow code is a lot shorter than before. It can even do multi-arch build!
It was very cumbersome to configure it to understand my environment, but I got it working. And that's good, because my focus is for home labbers. So I'll use that for my blog post.
Thank you!
(PS: It doesn't matter how slow you think a Raspberry Pi is, it's still faster than emulating ARM on an Intel i7. )
@badnetmask At Codeberg, we have set the ghcr.io/catthehacker/ubuntu:act-22.04 image by default, which has quite some tools built-in (not sure if it covers your needs).
@Codeberg
I did look at that image at some point, but I don't remember why I moved away from it.
However, since that's what you use, it sure makes it a lot more interesting to try again.
Thanks!
@badnetmask
I'm very much looking forward to that blog post, I've only just migrated to Woodpecker and would be curious what the Forgejo runners look like.
@mmeier
I can tell you this: worst case scenario I had a lot of fun doing it, even if it's worthless for anyone else.
@badnetmask We can always at least chuckle about your trials and tribulations while setting it up.