Best way to run Docker Compose in Kinoite/Silverblue?

Hi!

I am a new Kinoite user and I am interested in trying out Winapps to run Windows app through a Windows VM seamlessly.

To set this up you need three components:

  1. Docker Compose to run a prepared Windows VM
  2. freerdp >3 (not sure if this is part of the base image of Atomic Desktop)
  3. Winapps script (this just runs in the home directory)

Now I am wondering what is the best way to run this docker image.

Method 1: install Docker with rpm-ostree. Which packages would I need exactly? And do I need to do anything else like add my user to a docker group?

edit: or Method 1b: install rootless Docker

Method 2: use Podman (preinstalled) and install docker-podman and docker-compose as described here so that I can use the docker-compose command through Podman. What is the advantage over installing Docker, because either way I have to layer images?

Follow-up question for these two methods: do I also have to install freerdp or is that already preinstalled in Kinoite?

Method 3: install Docker in distrobox (which I already have installed so this wouldn’t be any additional layering) as described here. This would be my favourite option if it works wlel because it avoids having to layer packages and if the whole Winapps thing doesn’t work I can just nuke it again. But my question would be if the container and the VM running in it would even have Internet as the distrobox container is set up with the unshare-all flag which seems to include unsharing the “net namespace” whatever that is. Also, would I install freerdp in the same distrobox container or does it have to be a separate container?

Sorry if any of these questions are really stupid, I’m really new to immutable systems like Kinoite!

1 Like

See Installing Docker on silverblue - #3 by siosm for how to install Docker.

Freerdp is not installed by default so you will have to install it as well. It might work as Flatpak, might not, depends on how it’s used by the scripts you want to use.

Docker can not run inside a Distrobox. It needs to be on the host.

The question here is, could one also just use docker-compose which may work standalone, and run the containers with podman?

Added atomic-desktops, coreos, iot

I think that’s what podman compose will do. Haven’t played around with it myself though.

https://docs.podman.io/en/latest/markdown/podman-compose.1.html

2 Likes

So it would be enough to do rpm-ostree install podman-compose and reboot and that’s enough to run the docker compose command for Docker containers?