Add Docker Support within desktops
immae1 opened this issue · comments
Hi i tried your project :) Very nice -thanks!
But it is possible to install docker within a desktop environment?
This is loosely related to the next big thing I want to do, which is full VM support, but I realize a DinD sidecar option could work really well also and be accomplished in shorter time.
Will definitely look into it.
Alright very cool - i'll definitely stay tuned. if i could support let me know ;)
If you are interested in taking a stab at it, by all means. This project could use more contributors 😉 .
But this does have overlap with another issue I'm still trying to reconcile in my head, which is the Template
API itself. It's basically a fancy Pod template at this point, and if it were just a pod template (or at least embedded one) then this feature would already exist in theory. Also veers into the app-profile and dosbox/gaming stuff because I think those should be new APIs that need a lot of the features of the Template
API.
So we're at a point where I'm asking myself, "Do we want to add like an enableDocker
to the Template, or just go ahead and rip up that API into pieces or whatever".
In case you are keeping score at home...I'm leaning at tearing up the Template API a bit. The changes I'm considering turn the examples into something like this instead:
apiVersion: desktops.kvdi.io/v1
kind: Template
metadata:
name: ubuntu-xfce
spec:
desktop:
image: ghcr.io/tinyzimmer/kvdi:ubuntu-xfce4-latest
imagePullPolicy: IfNotPresent
allowRoot: true
proxy:
allowFileTransfer: true
tags:
os: ubuntu
desktop: xfce4
applications: minimal
This way every container has its own structure, and is more implicit about what they do and their function. Then another group of configurations I'm considering adding is:
spec:
desktop:
image: ghcr.io/tinyzimmer/kvdi:ubuntu-xfce4-latest
# ...
dind: {} # defaults
# images, volumes, etc for the dind container
I'm gonna play with it more in a bit and do some testing. If I come up with something that works and I like I'll publish a tag with this and the above API changes.
Ok I've released a tag with, experimental support, we'll call it. You can see more details here: https://github.com/tinyzimmer/kvdi/releases/tag/v0.2.2
If you fancy a screenshot
The build for the release usually takes around ~15 minutes before the images are published.