Standard Installation

This simplest way to deploy Kasm Workspaces is to install all application services on a single server. End-user sessions will also be provisioned on this server. All interior docker communication occurs within the single server and there are no special configurations required.

Please read through the entire process before getting started.

Troubleshooting info can be found on the Troubleshooting Page

Issues can be reported on the Kasm Workspaces Issues Page

../_images/single_install2.png

Single Server Architecture

Ports and Protocols

In the Single Server configurations all services communicate via internal docker networks. Only access to the Web Application needs to be exposed.

Source

Destination

Port

Notes

End User

Kasm Workspaces

443

Web Application

System Requirements

Please review the System Requirements before beginning.

Resource Allocation

Administrators can configure sessions to provision with any amount of cpu or memory allocations by editing the in the Kasm Image Settings. However, even a host with more than enough system memory can run into stability issues without enabling a swap partition. For this reason, the Kasm installation requires a swap partition to be present.

Warning

Install Swap partition for best stability of end user sessions. For additional details on docker resource constraints see the following link: Docker Resource Constraints

Creating A Swap Partition

For general information on swap partitions check out the Ubuntu Documentation

The following steps will create a 1 gigabyte (1024MB) Swap partition. It is recommended to allocate 1 gigabyte per concurrent session you expect to run at any given time. Please adjust according to your needs.

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

cat /proc/swaps

To make the swap file available on boot

echo '/mnt/1GiB.swap swap swap defaults 0 0' | sudo tee -a /etc/fstab

Installation Guide

  • Download the latest version of Kasm Workspaces to /tmp

  • Extract the package and run the installation script.

cd /tmp
tar -xf kasm_release*.tar.gz
sudo bash kasm_release/install.sh

Note

If you would like to run the Web Application on a different port pass the -L flag when calling the installer. e.g sudo bash kasm_release/install.sh -L 8443

Note

Kasm Workspaces can be installed on an offline system by doing an offline installation. This can be performed by first downloading the Workspace Images and Service Images from the Kasm Downloads and copying them to the system.

The path to the Service Images can be passed to the installer with the -s flag and the path to Workspace Images with the -w flag. e.g. sudo bash kasm_release/install.sh -w /tmp/kasm_release_workspace_images*.tar.gz -s /tmp/kasm_release_service_images*.tar.gz

This video walks through installing Kasm Workspaces on a single system.


Default Login

  • Access the Web Application running on port 443 at https://<WEBAPP_SERVER>

  • Log into the Web Application as the Administrator using the default credentials produced during the install.

../_images/login.png

Uninstall

  • Stop All Kasm services.

sudo /opt/kasm/current/bin/stop
  • Remove any Kasm session containers.

sudo docker rm -f $(sudo docker container ls -qa --filter="label=kasm.kasmid")
  • Remove Kasm service containers.

export KASM_UID=$(id kasm -u)
export KASM_GID=$(id kasm -g)
sudo -E docker-compose -f /opt/kasm/current/docker/docker-compose.yaml rm
  • Remove the Kasm docker network.

sudo docker network rm kasm_default_network
  • Remove the Kasm database docker volume.

sudo docker volume rm kasm_db_1.10.0
  • Remove the Kasm docker images.

sudo docker rmi redis:5-alpine
sudo docker rmi postgres:9.5-alpine
sudo docker rmi kasmweb/nginx:latest
sudo docker rmi kasmweb/share:1.10.0
sudo docker rmi kasmweb/agent:1.10.0
sudo docker rmi kasmweb/manager:1.10.0
sudo docker rmi kasmweb/api:1.10.0

sudo docker rmi $(sudo docker images --filter "label=com.kasmweb.image=true" -q)
  • Remove the Kasm installation directory structure.

sudo rm -rf /opt/kasm/