You are not logged in.

#1 2023-08-29 17:40:29

koalillo
Member
Registered: 2023-08-29
Posts: 2

Arch container builder

I am trying to package my workstation as a container image to be used via distrobox. I asked some months ago in IRC if there was some tool, but I got no answer, so I decided to play and create my own.

https://github.com/alexpdp7/arch-container-builder

My personal repo holds a script that builds my workstation ( https://github.com/alexpdp7/alexpdp7/bl … orkstation ), and I hook it up with GH Actions and Quay.io so that new images are pushed as I add new dependencies.

The images built work with distrobox (and likely, Fedora Toolbx), so I can "distrobox create --image ..." and then "distrobox enter" and get to an environment with all the tools I use installed, no matter which system I'm in.

By using container image tags, also I could do automatic periodic updates, rolling back to the previous image if there's some issue, etc.

The tool currently supports mainline packages, AUR packages (spins up a builder container, then injects the package and installs it), and adding GPG keys.

I use this on other distros- this is also an experiment to learn Arch. I could just run Arch, but I like the idea of having a very simple declaration of my dependencies and having an immutable base OS.

(Now, it's likely that there are already existing projects to do this, but you know, it's always a learning experience to roll your own.)

Offline

#2 2023-08-30 06:09:17

willemw
Member
Registered: 2013-02-19
Posts: 116

Re: Arch container builder

Very interesting. What if an AUR package depends on another AUR package? It that being handled?

Offline

#3 2023-08-30 08:43:32

koalillo
Member
Registered: 2023-08-29
Posts: 2

Re: Arch container builder

No, not really- For each AUR package, a new container is spun up to build it. I really don't foresee me personally having this requirement soon. If I have this need, I might implement it, but otherwise, I'd be more like happy to help someone wishing to implement this.

Offline

Board footer

Powered by FluxBB