How to use distrobox-assemble with COPR?

Distrobox is not the originally intended use case for Podman containers (as all “state” i.e. things a user wants is done manually and not on the image side), and the dnf system-upgrade is broken as it requires a reboot.

Unless uBlue images swap out the packages upstream, users need to recreate the containers with version upgrades.

This is worlds more complicated than the regular “system that just works” with “apps that just work” and never break.

So for a possible GUI app manager or something, distrobox-assemble needs to be used.


I use a Distrobox for QGis and RStudio, both graphical applications that don’t work as Flatpaks currently.

RStudio basically only works on Fedora too, because of the COPR repo including all the plugins you may need. Using a rolling Container that doesnt have this problem is not possible because

  • it does not have the packages
  • it puts trust in a random other distribution

These are the commands I need to run in a box. I saw no documentation about adding repos, or if just running commands would be supported.

sudo echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
sudo dnf copr enable -y iucar/cran
sudo dnf install -y fish qgis python3-qgis python3-pip rstudio-desktop R-CoprManager
distrobox-export --app qgis
distrobox-export --app rstudio

Distrobox-assemble documentation

Putting those commands in an init_hook should work I think?

1 Like

You can use a first run script for your first time entry.

Have it setup the copr and install whatever is needed.

Finally, have a sentinel file that you write. Have the script check to make sure that first run file isn’t present.

Distrobox itself uses several of these as part of the setup.

1 Like

Thanks! I opened a discussion too.

Will try to follow your guides, even though I likely need more details