---
myst:
html_meta:
"description lang=en": "Kasm Workspaces single server installation instructions."
"keywords": "Kasm, Single, Server, Setup"
"property=og:locale": "en_US"
---
```{title} Single Server Installation
```
# Single Server Installation
The 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 {term}`docker ` communication occurs within the single
server and there are no special configurations required.
Please read through the entire process before getting started.
For help please see [Help and Support](../install/support.md).
```{figure} /images/single_install/single_install2.png
:align: center
**Single Server Architecture**
```
````{dropdown} Ports and Protocols
:animate: fade-in
In the Single Server configurations all services communicate via internal {term}`docker ` networks. Only access to the {term}`Web Application ` and port 3389 for RDP gateway access (if desired) needs to be exposed.
```{eval-rst}
+----------+------------------+------+-------------------------+
| Source | Destination | Port | Notes |
+----------+------------------+------+-------------------------+
| End User | Kasm Workspaces | 443 | Web Application |
+----------+------------------+------+-------------------------+
| End User | Kasm RDP gateway | 3389 | RDP Thick Client Access |
+----------+------------------+------+-------------------------+
```
````
## Installation Guide
Please review the {doc}`System Requirements <../install/system_requirements>` before beginning.
```{include} /install/sizing_guide_tip.md
```
- Download the latest version of Kasm Workspaces to `/tmp`
- Extract the package and run the installation script.
````{dropdown} Install Files
```{include} /install/install_files.md
```
````
`````{tabs}
````{tab} Standard Install
```{parsed-literal}
cd /tmp
curl -O {{ release_url }}
tar -xf {{ release_url.split('/') | last }}
sudo bash kasm_release/install.sh
```
````
````{tab} Offline Install x86-64
```{parsed-literal}
cd /tmp
curl -O {{ release_url }}
curl -O {{ amd_service_images_url }}
curl -O {{ amd_workspace_images_url }}
curl -O {{ amd_plugin_images_url }}
tar -xf {{ release_url.split('/') | last }}
sudo bash kasm_release/install.sh --offline-workspaces /tmp/{{ amd_workspace_images_url.split('/') | last }} --offline-service /tmp/{{ amd_service_images_url.split('/') | last }} --offline-plugin /tmp/{{ amd_plugin_images_url.split('/') | last }}
```
````
````{tab} Offline Install arm64
```{parsed-literal}
cd /tmp
curl -O {{ release_url }}
curl -O {{ arm_service_images_url }}
curl -O {{ arm_workspace_images_url }}
curl -O {{ arm_plugin_images_url }}
tar -xf {{ release_url.split('/') | last }}
sudo bash kasm_release/install.sh --offline-workspaces /tmp/{{ arm_workspace_images_url.split('/') | last }} --offline-service /tmp/{{ arm_service_images_url.split('/') | last }} --offline-plugin /tmp/{{ arm_plugin_images_url.split('/') | last }}
```
````
`````
```{include} /install/default_login.md
```
````{dropdown} Licensing the server during install?
```{include} /install/activation_key_install_note.md
```
````
````{dropdown} Need to install Kasm on a different port?
```{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`
```
````
## Install Video Tutorial
This video walks through installing Kasm Workspaces on a single system.
```{raw} html
```
## Install troubleshooting
The install.sh script creates a log file as it runs, this file is removed upon completion of a successful installation. However, if something does go wrong the logfile will be available from the directory the install.sh script was executed from in the format *kasm_install_${TIMESTAMP}.log*. This file will be important for diagnosing the error that caused the installation to fail and will be requested when submitting a support ticket with Kasm Technologies.