Complete Kasm Deployment Guide – Proxmox, Cloud & More

Kasm is a “workspace streaming platform” that makes it a breeze to deploy your favorite apps, or even entire Linux distributions. You can use it to create workspaces you can access from anywhere, giving you access to your favorite apps from anywhere. In this video, three different deployment methods are covered, including installation with two cloud providers as well as in Proxmox.

YouTube player

Thanks to Kasm for supporting Learn Linux TV! Check out their awesome workspace streaming platform here.

If you need a cloud platform to deploy Kasm on, consider Digital Ocean (affiliate link).

Commands used in this Video

Editing the hostname

During the video, we updated the hostname in two places:

sudo nano /etc/hostname
sudo nano /etc/hosts

Updating the system

In this video, Debian was used as the host distribution. The following commands were used to install updates:

sudo apt update
sudo apt dist-upgrade

Downloading the latest release of Kasm

To download the latest release of Kasm, we visited the releases page. We copied the link for the download URL. Then, we downloaded the release within our Linux instance.

We’ll need to make sure we have wget available:

command -v wget

If we don’t have it, we can install it:

sudo apt install wget

Then, we used wget to download the latest release:

wget https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.7f020d.tar.gz

Note: The version number will eventually change, be sure to visit the releases page to get the most current URL.

Installing Kasm

To set up Kasm, we first need to extract it:

tar -xv kasm_release_1.17.0.7f020d.tar.gz

Then, we change into the kasm_release directory:

cd kasm_release

There, we run the installer:

sudo bash install.sh

Securing Kasm with Let’s Encrypt

During the Akamai cloud section, we later installed a TLS certificate via Let’s Encrypt. To do that, we first installed certbot:

sudo apt install cerbot

Then, we request a certificate:

sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d kasm-2.learnlinux.tv

After that, we stop the kasm_proxy container:

docker stop kasm_proxy

Note: You may need to use sudo if you’re not a member of the docker group.

Then, we navigate to the certs directory:

cd /opt/kasm/current/certs

Next, we back up the existing self-signed certs:

sudo mv kasm_nginx.crt kasm_nginx.crt.bak
sudo mv kasm_nginx.key kasm_nginx.key.bak

Continuing, we link the new cert files we received from Let’s Encrypt so Kasm can use them:

sudo ln -s /etc/letsencrypt/live/kasm-2.learnlinux.tv/privkey.pem kasm_nginx.key
sudo ln -s /etc/letsencrypt/live/kasm-2.learnlinux.tv/fullchain.pem kasm_nginx.crt

Note: Do not copy and paste those paths, as they will be different depending on the actual domain of your instance.

Finally, we restarted the server to make sure everything comes up correctly:

sudo reboot

Digital Ocean Marketplace

To set up Kasm in Digital Ocean, we used the official marketplace app. If you don’t already have a Digital Ocean account, you can get credit towards a new account by using Learn Linux TV’s Digital Ocean affiliate link.