I have a thing of attempting to make my life easier by using immutable OS as host for containers.
Such option is VyOS which originally is a software based router but its great to host containers aswell.
That is I install the ISO and use a single config file to configure the whole system. Compared to solutions such as Thalos I wont need any additional mgmt-clients in order to be able to configure the installation.
Now Kasm single-server already exists as a VM-image through Kasm-1.19.0-Single-Server.ova
But downside for me is that above is using Ubuntu 24.04 LTS (speaking of which, when will there be a 26.04 LTS release?).
That is compared to VyOS it will take alot more effort to have this updated specially in environments where there is no Internetaccess. Sure you can setup and maintain something like Proxmox Offline Mirror but that will still take alot more effort than just download and transfer the ISO when VyOS gets a new release.
During initial investigation of "how hard can it be" to make Kasm to properly run on VyOS I think there might be some speedbumps along the road:
-
Will Kasm work with Podman instead of Docker or are the Kasm containers hardwired to use "Docker" as binary (for the automation of starting and stopping the workspaces upon request etc)?
-
I have seen that the install script is draggnig along a networking and a logging plugin - how critical are these for Kasm to be working and if not critical then what will I be missing without them?
-
How likely is it that I will make Kasm work on VyOS as host who uses Podman instead of Docker (and practically doesnt allow for install of network or logging plugins since the use of overlay filesystem would mean that these will be gone when you update the installation to next release)?
-
Are there some dummy instructions on how to manually install Kasm using containers (other than trying to manually decipher what the install.sh is doing)?
Obviously these containers are needed for core functionality:
kasmweb/agent:1.19.0-rolling kasmweb/api:1.19.0-rolling kasmweb/kasm-guac:1.19.0-rolling kasmweb/manager:1.19.0-rolling kasmweb/postgres:1.19.0-rolling kasmweb/proxy:1.19.0-rolling kasmweb/rdp-gateway:1.19.0-rolling kasmweb/rdp-https-gateway:1.19.0-rolling
And then ontop of these comes whatever workspaces you wish to be able to run.