admin-app-kasm

majiayu000's avatarfrom majiayu000

Installs and manages KASM Workspaces, a container-based VDI platform for streaming desktops to browsers.Supports Ubuntu ARM64, desktop streaming, isolated browser sessions, and remote workspace access.Use when: installing KASM on Ubuntu ARM64, setting up VDI, configuring browser-based desktops, deploying on OCI instances.Keywords: kasm workspaces, VDI, virtual desktop, browser streaming, ARM64, kasm port 8443, container desktop

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026

When & Why to Use This Skill

This Claude skill automates the installation and management of KASM Workspaces, a premier container-based VDI (Virtual Desktop Infrastructure) platform. It enables the seamless deployment of secure, isolated desktop environments and browser sessions directly to any web browser, specifically optimized for Ubuntu ARM64 architectures and cloud environments like OCI.

Use Cases

  • Setting up a secure, remote Virtual Desktop Infrastructure (VDI) on Ubuntu ARM64 servers for distributed teams.
  • Deploying isolated browser sessions to provide a 'disposable' and secure web environment for sensitive research or malware analysis.
  • Configuring encrypted remote access to internal workspaces using Cloudflare Tunnels, bypassing the need for complex firewall configurations.
  • Automating the provisioning of cloud-based desktops on OCI (Oracle Cloud Infrastructure) with built-in resource validation and swap management.
nameadmin-app-kasm
description|
Use wheninstalling KASM on Ubuntu ARM64, setting up VDI, configuring browser-based desktops, deploying on OCI instances.
Keywordskasm workspaces, VDI, virtual desktop, browser streaming, ARM64, kasm port 8443, container desktop
licenseMIT

KASM Workspaces - Container VDI

Purpose: Install KASM Workspaces on a single Ubuntu server and configure secure browser-based desktops.

Step 0: Gather Required Information (MANDATORY)

STOP. Before ANY installation commands, collect ALL parameters from the user.

Copy this checklist and confirm each item:

Required Parameters:
- [ ] KASM_SERVER_IP       - Target server IP address
- [ ] SSH_USER             - SSH username (default: ubuntu)
- [ ] SSH_KEY_PATH         - Path to SSH private key (default: ~/.ssh/id_rsa)
- [ ] KASM_ADMIN_PASSWORD  - Admin password (minimum 12 characters)
- [ ] KASM_ADMIN_EMAIL     - Admin email (default: admin@kasm.local)

Resource Parameters:
- [ ] Server RAM           - Minimum 8GB (4GB KASM + 4GB per concurrent session)
- [ ] SWAP_SIZE_GB         - Swap file size (default: 8GB, recommended for ARM64)

Conditional Parameters (ask user):
- [ ] Using Cloudflare Tunnel for HTTPS? (Y/N)
      If Y: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, TUNNEL_HOSTNAME
- [ ] Custom KASM port? (default: 443 after install, 8443 during install)

Password Requirements (KASM enforced)

  • Minimum 12 characters
  • Recommended: use a password manager to generate

DO NOT proceed to Step 1 until ALL required parameters are confirmed.


Step 1: Determine Installation Path

Based on user answers, follow the appropriate workflow:

Path A: Fresh Installation

Use when: New server, no existing KASM installation.

  1. Read references/INSTALLATION.md
  2. Export all parameters collected in Step 0
  3. Follow step-by-step installation

Path B: Post-Installation Configuration

Use when: KASM already installed, need to configure modules.

  1. Read references/QUICKSTART.md
  2. Run post-installation wizard

Step 2: Secure HTTPS Access

Determine access method based on Step 0 answers:

Scenario Action
Cloudflare Tunnel = Yes Read references/cloudflare-tunnel.md (uses noTLSVerify: true)
Direct IP only (dev) Access via https://SERVER_IP (accept self-signed cert)

Step 3: Verify Installation

Run this verification checklist:

Verification:
- [ ] KASM UI accessible at https://SERVER_IP (or tunnel hostname)
- [ ] Login with admin credentials works
- [ ] At least 8 KASM containers running (docker ps | grep kasm)
- [ ] If tunnel: HTTPS working at TUNNEL_HOSTNAME

If login fails: Extract credentials from install_log.txt - see references/INSTALLATION.md section "Get Admin Credentials".


Detailed references (one level deep):

  • Manual installation: references/INSTALLATION.md
  • Cloudflare Tunnel: references/cloudflare-tunnel.md
  • Post-installation wizard: references/QUICKSTART.md
  • Wizard user guide: references/README-WIZARD.md
  • Wizard spec (draft): references/post-installation-interview-spec.md

Critical Rules

  • Ensure Docker CE + Compose plugin installed before KASM.
  • Allocate sufficient RAM per concurrent session (2–4GB).
  • Do not expose installer port 8443 publicly without HTTPS/tunnel.

Logging Integration

log_admin "SUCCESS" "installation" "Installed KASM Workspaces" "version=1.x server=$SERVER_ID"
log_admin "SUCCESS" "operation" "Ran KASM post-install wizard" "modules=$MODULES"
  • admin-devops for inventory and provisioning.
  • admin-infra-* for OCI/Hetzner/etc server setup.

References