Open maxpain opened 1 month ago
@dimm0 I think this is similar to what we have discussed a few days ago.
Note that this should be a separate approach, preferably in selkies-vdi, which did a very similar thing to earlier Selkies-GStreamer releases.
The existing containers are not to be replaced with this approach because of interoperability in arbitrary Kubernetes environments and Apptainer.
This itself should not be the most complex thing to do, because I've already tried my best to expose all sorts of sockets in /tmp
and thus should work by sharing with tmpfs
. It's just labor and testing.
Note that the reason I don't want this to be default is because this way is harder to accommodate various environments plus the fact that many people want a simple docker run
command. selkies-vdi
is meant to decompose multiple services, so should be done there.
Hello.
https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/example/Dockerfile
At the moment, we have a very complex Dockerfile with every service in one container and have to use supervisor:
It would be better to decompose it into separate tiny images and provide unified and modular docker-compose and Kubernetes manifests with individual containers for each component. This would be easier to use, so we wouldn't need to build our own docker images; we can just use official images instead.
In my case, I use Xorg instead of Xvfb and run it in a different DaemonSet, and every service which depends on it looks like that:
It'll give us the flexibility to choose the desktop environment, X server (Xorg vs Xvfb) Also, you can get rid of
docker-nvidia-egl-desktop
anddocker-nvidia-glx-desktop
and the need to copy-paste many configurations in Dockerfiles.One more advantage: it would be easy to see which container is failing and its logs.
In theory, we can make a fully configurable helm chart.