Home KASM Workspaces - Install on rocky linux
Post
Cancel

KASM Workspaces - Install on rocky linux

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!

This post is licensed under CC BY 4.0 by the author.

ScheduledTasks with Powershell

New blog design