Kasm Setup and Basics

This post is to go over something that I heard about recently called Kasm. This program allows you to host docker container as desktop environments remotely over a web browser for any number of users. I will be going over installation and basic usage.

Requirements

Everything in this section comes from the Kasm Documentation.

Server Requirements

  • 2 CPU Cores
  • 4 GB of RAM
  • 50 GB of Storage preferably SSD

Client Requirements

  • Chrome 49+
  • Edge 14+
  • Firefox 48+
  • Internet Explorer 11
  • Safari 11+

Server Installation

Download Install

Download the install from here.
After downloading unpack it.

# go to where you downloaded the archive.
cd ~/Downloads
tar -xvf kasm_release_1.10.0.238225.tar.gz

Run Install Script

cd kasm_release
bash install.sh

This install script will download necessary packages and container runtimes. It is recommended you allow this to run on a standalone server so the version of the packages are determined by the Kasm installer. You should see the admin credentials generated in the install window.

Installation Complete


Kasm UI Login Credentials

------------------------------------
  username: [email protected]
  password: txyzir1yIKj28
------------------------------------
  username: [email protected]
  password: DyNUw20zFnyeZ
------------------------------------

Kasm Database Credentials
------------------------------------
  username: kasmapp
  password: qiZOXpUqY2el9VxIGNza
------------------------------------

Kasm Redis Credentials
------------------------------------
  password: 3AOz2j5sdgx6ratunwmv
------------------------------------

Kasm Manager Token
------------------------------------
  password: 41rACuA6gKngHxQmAosz
------------------------------------

Basic Usage

First Login

The first login use the [email protected] user from above.
Use https://yourserverip using your own server’s/computer’s ip address.

Launch First Session

On the main page in the top left you can see “Workspaces”. Let click that.
Now you can see the workspaces available. I’m going to test out a chromium session. After clicking a choice you will see the launch dialog.

After clicking “Launch Session” you will have a chromium session open in your current browser. Here is the awesome part. This new browser is running on the server and not on your computer. You don’t need to install anything for this to run either. Any of the workspaces in Kasm will run without any client installs.

Leaving a Session

To leave the session just click back and you will see the active session you have on the right side.

From here you can delete the session by mousing over and clicking “Delete”. Notice that these sessions will expire if not in use.

Streaming Sessions

You can stream sessions by adding a configuration for it under the streaming tab. This could be used to stream temporary sessions easily.

Session List

Sessions can be viewed under the session tab. This will show both your sessions and the sessions of other users on the system.

Adding Users

If you go under Users you can add new users to login to Kasm.

Gaming

Something I found while working with Kasm is that there is a Steam image you can enable in the web interface.
You can click to edit the image on the right.

From the edit menu we can enable the Steam image. Notice the ability to enable a GPU if you have one. This is incredible. What this means is when you start a session in Kasm on a server that has a GPU, it can be used to play videogames remotely. I have my Kasm server installed on a VM without a GPU. Adding it to my main desktop would allow for remote game playing from linux.

Conclusion

The ability to launch applications remotely from anywhere using a browser window is incredible. I may attempt to run steam games in this way to try out remote gaming from my laptop.