Featured image of post Kasm Workspaces

Kasm Workspaces

How to host Kasm Workspaces on your server.

Kasm Workspaces

Kasmā  Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services.

Install with Docker Compose

Template and instructions from linuxserver.io.

Create a file compose.yaml and copy paste inside it:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
services:
  kasm:
    image: lscr.io/linuxserver/kasm:latest
    container_name: kasm
    privileged: true
    environment:
      - KASM_PORT=443
      - DOCKER_HUB_USERNAME=USER #optional
      - DOCKER_HUB_PASSWORD=PASS #optional
      - DOCKER_MTU=1500 #optional
    volumes:
      - ./data:/opt
      - ./profiles:/profiles #optional
      - ./dev/input:/dev/input #optional
      - ./run/udev/data:/run/udev/data #optional
    ports:
      - 3006:3000 #custom port 3006
      - 446:443 #custom port 446
    restart: unless-stopped

Note: Ports 3006 & 446 are custom, make them anything you want, but don’t change the right side: port 3000 & 443.

Start the container

1
2
docker compose pull
docker compose up -d

Access

Access the interface from: your.ip:446

Optimizations

Disable pulseaudio to lower cpu consumption:

  • Go to Admin->Workspaces->Edit a workspace:
  • In Docker Run Config Override (JSON) Add inside the “environment”: {}: , “START_PULSEAUDIO”: “0”

Example:

1
2
3
4
5
6
7
{
  "hostname": "kasm",
  "environment": {
    "TERMINAL_ARGS": "--fullscreen --hide-borders --hide-menubar --zoom=-1 --hide-scrollbar",
    "START_PULSEAUDIO": "0"
  }
}

Cover photo by Pawel Czerwinski on Unsplash

Licensed under CC BY-NC-SA 4.0
Last updated on Jul 18, 2024 12:22 CET
Built with Hugo
Theme Stack designed by Jimmy