In a video from networkchuck, he introduced kasm workspaces. A tool or more like a webservice you can host (wherever you want) to start encapsulated (kind of more secure) desktop environments or apps in a docker container, that will be streamed to your browser. Because Qube OS is not compatible with my hardware, I instandly thought, oh great! I need this RIGHT NOW. Recently I setup an QEMU/KVM environment on my laptop, so I just needed to create a new virtual machine and fire this thing up - lets do this. Before reading the install docs on the kasm website, I created a new virtual machine and installed rocky linux, cause I wanna give it a try. Okay it is not supported, but centos is, so it will propably work.
Install kasm workspace docker
After rocky os installation process finished and I got a prombt, I followed the steps in the documentation.
In short:
Create swap
1
2
3
4
sudo dd if=/dev/zero bs=1M count=1024 of=/mnt/1GiB.swap
sudo chmod 600 /mnt/1GiB.swap
sudo mkswap /mnt/1GiB.swap
sudo swapon /mnt/1GiB.swap
Verify swap file exists
1
cat /proc/swaps
To make the swap file available on boot
1
echo '/mnt/1GiB.swap swap swap defaults 0 0' | sudo tee -a /etc/fstab
Download kasm worskpace
You can download the archive from the kasm download page…. suprise. After downloading, you need to unpack the archive and run the install script. It will run an install_dependencies script, before installing all needed files and docker images.
1
2
tar -xf kasm_release*.tar.gz
sudo bash kasm_release/install.sh
This script does not work with every distro!
I needed to add the following lines in the install_dependencies.sh
script to get the compatibility check succsessfully done and so the script is able to install all needed dependencies.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## Copy these lines and paste them directly after it
if [ "${OS_ID}" == '"centos"' ] && ( [ "${OS_VERSION_ID}" == '"7"' ] || [ "${OS_VERSION_ID}" == '"8"' ] ) ; then
SUPPORTED='true'
if [ $INSTALL_DOCKER == 'true' ] ; then
install_centos ${OS_VERSION_ID}
fi
if [ $INSTALL_COMPOSE == 'true' ] ; then
install_docker_compose
fi
fi
## Change the "if" for OS_ID check and OS_VERSION_ID to rocky and the version your have installed.
if [ "${OS_ID}" == '"rocky"' ] && ( [ "${OS_VERSION_ID}" == '"7"' ] || [ "${OS_VERSION_ID}" == '"8.5"' ] ) ; then
SUPPORTED='true'
if [ $INSTALL_DOCKER == 'true' ] ; then
install_centos ${OS_VERSION_ID}
fi
if [ $INSTALL_COMPOSE == 'true' ] ; then
install_docker_compose
fi
fi
Now the script will run through and download / installs all you need!