Skip to content

KasmWEB installation script

License

Notifications You must be signed in to change notification settings

scriptmgr/kasmweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

Kasm Workspaces Installer

This repository provides a distro-agnostic, POSIX-compliant shell script (install.sh) to install and update Kasm Workspaces safely and consistently.

Features

  • POSIX-compliant: Works with /bin/sh (dash-safe).
  • Distro-agnostic: Supports Debian/Ubuntu, RHEL/Fedora, CentOS, openSUSE, and Arch Linux.
  • No curl | sh: All downloads are verified with SHA-256.
  • No docker.io package: Installs official Docker Engine instead of distro-shipped variants.
  • Safe upgrades: Re-running the script upgrades Kasm without breaking existing installs.
  • Custom port: Defaults to port 64301, suitable for reverse proxy setups.

Requirements

  • Root privileges (sudo) for package installation and Docker setup.
  • Supported package manager:
    • apt (Debian/Ubuntu)
    • dnf (Fedora/RHEL)
    • yum (CentOS 7)
    • zypper (openSUSE)
    • pacman (Arch Linux)

The script will install missing prerequisites automatically.


Usage

1. Download the script

git clone https://github.com/scriptmgr/kasmweb.git cd kasmweb

2. Make it executable

chmod +x install.sh

3. Run the installer

sudo ./install.sh
  • On first run, it performs a fresh install.
  • On subsequent runs, it performs a safe upgrade.

Configuration

VariableDefaultDescription
KASM_PORT64301The internal port Kasm listens on (for reverse proxy).
WORKDIR/tmp/kasmwebTemporary working directory.
CACHE_DIR/var/cache/kasmwebCache for downloaded release bundles.
KASM_RELEASE_URL(auto)Override with a fixed release tarball URL.
KASM_RELEASE_SHA(auto)SHA-256 of pinned release, if overriding URL.

Set these as environment variables when running the script:

sudo KASM_PORT=12345 ./install.sh

Reverse Proxy Example

A minimal Nginx configuration (TLS termination handled by Nginx):

server{listen443ssl http2;server_name kasm.example.com;ssl_certificate /etc/letsencrypt/live/kasm.example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/kasm.example.com/privkey.pem;location / {proxy_pass https://127.0.0.1:64301;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-Proto https;proxy_read_timeout600s;proxy_send_timeout600s;}}

Updating

To update Kasm Workspaces, simply re-run:

sudo ./install.sh

The script will:

  1. Discover the latest release.
  2. Download and verify the tarball.
  3. Run the automated upgrade script.

Notes

  • Default admin credentials are shown at the end of installation.
  • Docker service is enabled and started automatically.
  • Script never pipes shell from curl and never installs docker.io.

License

MIT License © 2025 ScriptMgr

Do you want me to also include reverse proxy snippets for Caddy and Apache, so the README is more complete for users who don’t use Nginx? `

About

KasmWEB installation script

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages