What is Kasm?
Kasm Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services. Kasm uses devops-enabled Containerized Desktop Infrastructure (CDI) to create on-demand, disposable, docker containers that are accessible via web browser. Example use-cases include Remote Browser Isolation (RBI), Data Loss Prevention (DLP), Desktop as a Service (DaaS), Secure Remote Access Services (RAS), and Open Source Intelligence (OSINT) collections.
In simple term, you can run a full desktop or browser on your web-browser on-demand
What we need?
Kasm Services and end user sessions are Docker containers. Access to the Docker registry is required for installation. Please refer for detailed requirement list here in Official guide
Let's see minimum requirement
- CPU : 2 cores
- Memory: 4GB
- Storage: 50GB
You can run the Kasm on a raspberry-pi as well
We need to install docker on the host machine, I am not going to explain the steps here, you can follow below guide.
Install Kasm with Docker
I am going to use docker-compose
file for this project, we will be using linuxserver.io image
nano docker-compose.yml
version: "2.1"
services:
kasm:
image: lscr.io/linuxserver/kasm:latest
container_name: kasm
privileged: true
environment:
- KASM_PORT=8443
volumes:
- ./data:/opt
- ./profiles:/profiles #optional
- /dev/input:/dev/input #optional
- /run/udev/data:/run/udev/data #optional
ports:
- 3000:3000
- 8443:443
restart: unless-stopped
- Port : You can always change the port number 8443 based on your enviroment.
- Port 3000 will used for Kasm installation.
start the container with below command.
docker compose up
Kasm Installation
Once the container is started, navigate to the server address with the port number
in my case, the server address is https://10.10.11.23:3000
Accept and continue
the KASM license agreement
Set the initial password for [email protected]
and [email protected]
Note: If you wish to use GPU, Please enable the same from the dropdown.
Select the relevant applications from the list, and hit Install
Please note that installation time will vary based on the application selection, you will always have option to install these application in late phase.
Persistant profiles
In order to use persistant profiles in Workspaces you will need to mount in a folder to use from your host to /profiles
. From there when configuring a workspace you can set the Persistant Profile Path
to IE /profiles/ubuntu-focal/{username}/
, more infomation can be found HERE
Using Kasm Workspace
Once the container images downloaded, you can navigate to the server address with port 4443 to access Kasm workspace.
Use the admin/user login to access the workspace
You can start any application from the dashboard.
Image Loading Error
If you see below error, you may need to wait for some time to complete the image download.
This image is not currently available. Agent may still be downloading Image.