More example quadlets
I have created a repository including dozens of quadlets that I would like to share with the wider community. It can be found on my Forgejo instance, running on my home server which I use to dogfood every quadlet in the repo. I have not created a readme for every quadlet yet, but I am actively seeking suggestions for improving the documentation of my project. Additionally, I am interested in creating a python tool to automate the installation and setup of quadlets from some central repository. At this time, I am not a very strong developer, but in theory the tool shouldn't be too complex so I'm excited to continue working on it. I also don't like the name, but everyone knows naming things is hard.
You can find my quadlet examples here. This is also a push mirror to github, though I would now prefer to treat the GitHub as a second-class archive instead of the primary source.
Much of the work I've done recently is to normalize the quadlets such that users can copy the files to the correct directory and start them immediately, without having to fuss with a lot of specific configuration. This is why nearly every quadlet includes its own special copy of any database it requires instead of just 1 universal example for postgres, mariadb, mysql, etc. It is also the reason why so many include their own network unit, and why I have lifted almost all volume mounts into an associated volume unit. I am open to restructuring the examples, but I think normalizing all of them in the way I have provides additional value and ease of use.
Many are, of course, special case and do not follow the exact same structure. For example, I chose to include some Network=container:gluetun to demonstrate this possibility, but also because some of the services only make sense when routed through your chosen VPN. This would be an obvious candidate for better documentation, probably, but I'm still figuring out how to structure docs as well.
Is there some better place to discuss this further?
Thanks for sharing. We created this repo to share example and discussions, so I think this is the place to continue this discussion. I think your approach is the correct one. You can see in this repo as well that each example is independent.
Regarding the tool you are looking for, take a look at: https://github.com/rgolangh/pq.
Thanks for pointing me towards pq! That looks a lot like what I was planning to make after I was satisfied with the quantity and quality of quadlets to use it on. Maybe I won't need to write anything after all (probably a blessing for end-users).
My intent from the start was to be inspired by the LinuxServer.io fleet. I don't follow their strategy directly because upstream projects tend to provide official containers now -- LSIO has custom built every container for some specific reasons; the primary one appears to revolve around resolving an old permissions issue, which is where the common PUID and PGID environment variables come from. We don't typically need to custom build containers anymore thanks to the ubiquity of them by upstream projects now, and also the permissions issue appears to be settled with podman already. I may be off-base about that, but I haven't been seeing the same problems with these quadlets.
I think a one-stop shop for all your quadlet needs could be very valuable, and with pq it is already possible. I'll chat with the developer about what I may need to do to make my repository fully compatible with their tool also.
Is there any movement toward building a central repository for quadlets? Would this one be suitable? Upstreams haven't really adopted podman or quadlets yet, and waiting on them seems fruitless. I've seen 2 or 3 upstream quadlets in my exploration over the past few months which is an abysmal attach rate overall. I am of the opinion that LSIO was actually a huge catalyst in causing docker adoption -- some upstreams actually just treat an LSIO fleet container as the official product. Grocy is the most recent example I have come across.
Mainly I just feel like my personal project lacks the necessary authority to be such a central repository, so I'm looking for a more officially blessed space to contribute to. What do you think?
@redbeardymcgee have you considered creating a documentation website to showcase these podman quadlets? You have by far the most comprehensive list.
I have considered it, and have a project in place to build out the documentation. I just haven't gotten to it yet because I'm still not quite certain about the quality of the quadlets. It's on the todo list soonish.
@mecattaf I have scaffolded up a first draft using Astro Starlight at https://podbox.mcgee.red