Complete Kasm Deployment Guide - Proxmox, Cloud & More
Jay LaCroix of Learn Linux TV deploys Kasm Workspaces, the self hostable platform that streams apps and full Linux desktops into a browser tab, four different ways. He builds it in a Proxmox VM (the same recipe as bare metal), hand builds it on an Akamai cloud instance, hardens that instance with a real Let's Encrypt certificate, and finishes with a one click DigitalOcean marketplace droplet. The installer is identical everywhere: download the Linux Server tarball, extract, run sudo bash install.sh, and log in as [email protected]. Along the way he covers the standard new server hygiene (non root user, sudo, hostname, updates, reboot) and the certificate swap that turns the self signed warning into a trusted green padlock.
Published Jun 10, 202549:12 video21 min readAdded Jul 11, 2026Open on YouTube →
At a glance
Jay LaCroix of Learn Linux TV walks through four separate ways to stand up Kasm Workspaces, the self hostable platform that streams full applications and Linux desktops to a browser tab. The same product, four deployment paths: a virtual machine on Proxmox (which doubles as the recipe for any physical or bare metal server), a hand built cloud instance on Akamai (formerly Linode), the same cloud instance hardened with a real Let's Encrypt certificate, and a one click DigitalOcean marketplace droplet. Kasm sponsored the video, and Jay discloses that up front while keeping full creative control.
The through line is that Kasm installs the same way everywhere. You download the Linux Server tarball from the releases page, extract it, run sudo bash install.sh, and the script hands you an [email protected] login plus a generated password. What changes across the four methods is the plumbing around that installer: how you get a Debian 12 host, whether you reach it by IP or fully qualified domain name, whether the TLS certificate is the default self signed one or a browser trusted Let's Encrypt cert, and how much of the work a cloud marketplace does for you.
This page rebuilds all four deployments in the video's own order, every command, every config file, every port, and every prompt, so a reader who never plays the video can pick a path and deploy Kasm from start to finish. Along the way it covers the shared Linux server hygiene Jay layers in (a non root user, sudo, hostname, updates, a reboot), the workspace registry demo (a full Debian desktop and Google Chrome running nested inside your own browser), and the certificate swap that turns the cert warning into a green padlock.
Figure 1. Kasm never installs software on your laptop. Each workspace is a Docker container on the server; the kasm_proxy container terminates TLS and streams the running app back to whatever browser you logged in from. That is why a Chrome workspace on Kasm is literally a web browser rendered inside your own web browser, and why the same browsing session is reachable from any machine on the network.
Section 1: What Kasm is, before installing it
Jay opens by showing Kasm in action rather than describing it. You log in to the web console and land on two tabs, Workspaces and Admin. The Workspaces tab lists whatever apps or desktops you have installed; click one and it launches. He clicks Google Chrome and it opens, running nested inside the browser he is already using. The payoff he stresses: because that browser lives on the server, it is a centrally available browser reachable from any other machine, so your tabs and history live in one place no matter which device you sit down at.
There is far more in the catalog than a browser. Entire Linux distributions are available as workspaces, so you can run a complete Debian desktop in a tab. Scrolling the list, he notes everything from desktop apps to server applications, and points out you can even play Doom through it. The pitch is that Kasm is self hostable, runs on just about any Linux server across a handful of supported distributions, and is a good fit for both home labs and business. He keeps the usage tour short on purpose, pointing to his separate getting started video for day to day use, because this video is about deployment.
One honest note he front loads: the video is sponsored by Kasm, and, as with every video on the channel, Learn Linux TV keeps full creative control. He says he took the deal because he genuinely likes the product.
Section 2: Deploying Kasm in a Proxmox VM
This is the foundational path. Jay uses Proxmox because that is his hypervisor, but he stresses the steps are not Proxmox specific: the same recipe works on any other virtualization platform and on a physical or bare metal server.
Create and size the virtual machine
To save time he clones an existing Debian 12 template. Templates in Proxmox give you a preconfigured environment ready to go; if you do not have one, create a VM manually instead, and he points to his own template building videos for that. He right clicks the template, chooses Clone, names it kasm, selects Full Clone, and clones the instance.
Before starting the VM he right sizes it under the Hardware tab:
Memory: at least 4 GB is his recommendation; he pushes it to 8 GB.
Processors: he bumps to 4 cores.
The point is simply to give Kasm enough resources. He starts the VM, and once it is up grabs its IP address from the Summary tab, then connects over SSH from a terminal:
ssh <vm-ip-address>
Baseline Linux server setup (not Kasm specific)
Everything in this subsection is generic new server hygiene, done before touching Kasm. His template already logged him in as a non root user named j that existed in the template. If you are sitting on a fresh root login instead, create a user and grant sudo:
# create a non root user and answer the prompts
adduser <username>
# add that user to the sudo group (Debian and Ubuntu use "sudo";
# some distributions use "wheel")
usermod -aG sudo <username>
Next he sets a meaningful hostname. The template's name, debian, is too generic, so he edits two files:
sudo nano /etc/hostname
# replace the contents with:
kasm
sudo nano /etc/hosts
# point the 127.0.1.1 line at the new name, WITHOUT overwriting
# the existing 127.0.0.1 localhost entry:
127.0.1.1 kasm
Then he brings the box fully up to date before installing anything, because starting a project current makes everything run more smoothly:
sudo apt update # refresh the package index (Debian and Ubuntu)
sudo apt dist-upgrade # install all available updates
He accepts the default of yes at the prompt, then reboots so the new hostname and every security update take full effect:
sudo reboot
While it reboots he plugs his first things to do on a new Linux server video and singles out securing SSH as the one thing you should not skip. That hardening is out of scope here but flagged as important.
Download and run the Kasm installer
Now Kasm itself. He goes to the Kasm downloads page, confirms the Linux Server build is selected (the first option), and instead of downloading to his laptop he right clicks the download button and chooses Copy link. The page shows the current release; take whatever is newest.
Back in the VM over SSH, he confirms wget exists (typing wget with no output beyond usage means it is present; total silence or a not found means install it):
# if wget is missing on Debian or Ubuntu:
sudo apt install wget
# on Fedora or CentOS you would install it with dnf instead
Then he downloads, extracts, enters the release directory, and runs the installer:
wget <copied-kasm-linux-server-url>
tar -xf <downloaded-kasm-file>
cd kasm_release
sudo bash install.sh
The installer asks a few straightforward questions; he types Y to accept the license agreement, and it pulls down the packages it needs. When it finishes it prints the credentials you need, and the important line is the Kasm UI login: the username and the generated password. He shows his in clear text only because it is a throwaway demo instance; you would keep yours private.
Figure 2. Whatever the host, the middle of the job is the same five commands. This flow is the spine of the whole video; the Proxmox, Akamai, and DigitalOcean sections differ only in how you obtain the Debian 12 host and how you reach it afterward.
Log in and prove it works with a workspace
Jay explains the preferred way to reach Kasm is by its fully qualified domain name or hostname, but since he has no DNS in the studio he uses the IP over HTTPS:
https://<vm-ip-address>
The browser throws a certificate warning because Kasm ships with a self signed cert. That is expected, not a real risk here, so he clicks Accept the risk and continue. At the Kasm login page he signs in with the built in admin account:
Password: the generated password from the installer output
To confirm the install works he adds workspaces. From Workspaces, he opens the Registry (the catalog of installable apps) and installs Debian Bookworm and Google Chrome. Both download and configure in the background. A red exclamation mark on a workspace icon means setup is not finished yet, so you cannot launch it until that clears.
Once Debian Bookworm is ready he clicks it, launches the session, and gets a full Debian desktop, with some default apps, running inside the browser tab. He leaves the session, stops that container since he is done with it, then opens the now ready Google Chrome workspace: a web browser running inside a web browser. Proof the deployment is live.
Section 3: Deploying Kasm on an Akamai cloud instance
Now the same product in the cloud, built by hand. The advantage he calls out: a cloud instance is reachable wherever you are without opening anything on your home network, and needs no physical hardware or hypervisor of your own. He uses Akamai (the cloud formerly branded Linode) but stresses any provider works. He notes the DigitalOcean path later is faster because DigitalOcean offers a marketplace app, whereas this Akamai build is manual, which he prefers because you learn more.
Create the instance
He creates a new Linode instance:
Region: something close to him.
Operating system:Debian 12.
Plan: the Shared CPU tab is cheaper; he picks the 8 GB shared plan. He notes 4 GB would work and save money, but goes bigger for future growth. On any cloud provider you pay for the VM, so pick something affordable that still runs Kasm.
Label: he recommends matching the label to the fully qualified domain name you plan to use, so he labels it kasm.learnlinux.tv.
Root password: he sets one.
Backups: his account enables backups by default (about $10 per month, an account level setting). Uncheck it if you do not want backups, or leave it on if you do.
He clicks Create Linode, waits for it to show running, then launches the web console to confirm the login page appears (the instance can need a moment past "running" before it is truly ready). Then he connects over SSH as root, since new cloud instances start with the root user:
ssh root@<instance-ip-address>
Set up DNS while it propagates
Optional but done early so DNS has time to propagate by the end. In the Akamai dashboard he opens Domains, selects his learnlinux.tv domain (create one here if you have none), and adds an A record:
Hostname:kasm
IP address: the instance IP
TTL: he sets a low value, useful when re recording so DNS times out quickly (not something you need to do normally)
He saves it, creating kasm.learnlinux.tv. On a different DNS provider you would add the same A record there and remember the name you gave it.
Baseline setup on the cloud host
Same server hygiene as before. Create a non root user and grant sudo:
adduser j
# set and confirm a password, press enter through the optional
# fields, confirm yes
usermod -aG sudo j # groups j confirms membership afterward
Then he logs out and back in as the new user so he is no longer root:
exit
ssh j@<instance-ip-address>
Set the hostname to the fully qualified domain name (or just kasm if you have no domain):
sudo nano /etc/hosts
# add a line (use just "kasm" if you have no domain):
127.0.1.1 kasm.learnlinux.tv kasm
Update, upgrade, and, because a new Linux kernel came down in the upgrade, reboot so the running kernel matches:
sudo apt update
sudo apt dist-upgrade
sudo reboot
After reconnecting, hostname reports the name he set, confirming it took.
Install Kasm on the instance
Identical to the Proxmox install. From the downloads page he confirms Linux Server, right clicks the download button, chooses Copy link, and back in the terminal confirms wget is present (sudo apt install wget if not):
wget <copied-kasm-linux-server-url>
tar -xf <downloaded-kasm-file>
cd kasm_release
sudo bash install.sh # type Y to accept the agreement
He copies the printed credentials to a safe place, then tries the fully qualified domain name in the browser:
https://kasm.learnlinux.tv
At first it cannot find the site because DNS has not propagated yet; giving it more time and refreshing brings up the page. The self signed cert warning appears again (expected), so Advanced, then Accept the risk and continue, then log in:
Password: the generated password from the installer
To sanity check he installs the Firefox workspace from the registry; the exclamation mark clears once it finishes building.
Securing the instance with a Let's Encrypt certificate
Bypassing a cert warning works but is not good enough, so Jay replaces the self signed cert with a browser trusted Let's Encrypt certificate. This step requires a domain name; skip it if you have none.
First install Certbot, the official Let's Encrypt client:
sudo apt install certbot
Confirm the Certbot systemd timer that auto renews certificates is active and enabled:
systemctl status certbot.timer
# if it is not active and enabled, enable and start it in one shot:
sudo systemctl enable --now certbot.timer
To make the next steps easier he adds his user to the docker group so he can run Docker commands without sudo. The change only takes effect on a fresh login, so he logs out and back in (this time over the now propagated domain name):
sudo usermod -aG docker j
exit
ssh [email protected] # groups now shows docker membership
Certbot's standalone mode needs port 80 free, so he stops the Kasm proxy container:
docker stop kasm_proxy
# without docker group membership you would prefix this with sudo
Now request the certificate. He uses certonly (Certbot just fetches the cert and he places the files himself) with the standalone challenge over HTTP:
He enters his email address and declines sharing it with the EFF. He notes he had to run the command a second time before it succeeded, then Certbot reports it issued a certificate. The cert now exists on the server, but Kasm will not use it until pointed at it.
Swap the certificate into place
The certificate files live under Kasm's application directory. He changes into the certs directory and backs up the two self signed files:
cd /opt/kasm/current/certs
sudo mv kasm_nginx.crt kasm_nginx.crt.back
sudo mv kasm_nginx.key kasm_nginx.key.back
A normal user cannot read the Let's Encrypt certificate directory, so he becomes root, returns to the certs directory, and creates two symbolic links pointing Kasm's expected filenames at the Let's Encrypt files:
sudo su -
cd /opt/kasm/current/certs
# private key -> named with the original key filename
ln -s /etc/letsencrypt/live/kasm.learnlinux.tv/privkey.pem kasm_nginx.key
# full chain -> named with the original cert filename
ln -s /etc/letsencrypt/live/kasm.learnlinux.tv/fullchain.pem kasm_nginx.crt
He notes these exact commands are in the video description for copy and paste. Running ls -l should show the two .back backups plus the two new symlinks pointing at the Let's Encrypt certificates. He exits the root session and reboots so everything comes up clean:
exit
sudo reboot
After reconnecting and refreshing the browser, the connection is secure: clicking the padlock shows a connection verified by Let's Encrypt, no cert warning, and his Firefox session launches over a trusted TLS connection.
Figure 3. The certificate swap in one picture. Stopping kasm_proxy frees port 80 so Certbot's standalone challenge can run; the issued cert lands in /etc/letsencrypt/live/ and is symlinked into Kasm's certs directory under the filenames the proxy already expects. After a reboot the proxy serves the trusted cert on 443, and certbot.timer renews it automatically.
Section 4: Deploying Kasm on DigitalOcean with the marketplace app
The fast path. Running Kasm in the cloud beats a local network deployment for remote access with no port forwarding or firewall wrangling, and DigitalOcean's official marketplace app makes setup nearly automatic. Jay notes other providers vary: the AWS Marketplace also lists Kasm, and where no marketplace image exists you fall back to the manual build from Section 3. He discloses his DigitalOcean signup link in the description is an affiliate link that earns him hosting credit (DigitalOcean is not a sponsor), that your outcome is identical either way, and that the link grants $200 in credit over 60 days. Past the credit or the 60 days you are billed, so watch your bill; DigitalOcean bills only for what you use.
The steps:
In the DigitalOcean dashboard, click New Project, name it (he uses apps), click Create Project, then Skip for now since he has nothing to move in. Projects just keep things organized; make sure you are in the one you created.
Scroll to the bottom of the left hand menu to Marketplace, click it, search Kasm, and select it. The marketplace app sets up Kasm almost automatically.
Click the button to create a Kasm Droplet and fill in the form:
Location: one close to you.
Image: already selected (nothing to do).
Plan: only one option is available, costing $48 per month to run Kasm through this app.
Backups: optional, worth enabling for full time use.
Root password: he generates and pastes one in.
Instances: one.
Hostname:kasm.
Click Create Droplet and watch the Droplets section as Kasm is created. This takes a few minutes, and even after it shows complete Kasm needs a little more time to instantiate itself.
Click Get Started to open a side panel; it confirms setup may still be finishing and gives you the URL to reach the solution. He copies and pastes it. If it cannot connect, the instance is not fully ready, so click Try Again and be patient, only for this first time. Once it is set up, it stays set up.
When it comes up he clicks Advanced, Accept the risk and continue (self signed cert again), and reaches the login page. The DigitalOcean marketplace uses known defaults for the very first login:
On first login Kasm forces a password change; he pastes in a generated password, submits, logs in again, and Kasm is running on DigitalOcean, with the marketplace app having done nearly all the work.
How the four paths compare
Path
What you provide
Effort
Cost signal
Reach and TLS
Proxmox VM (or bare metal)
Your own hardware or hypervisor; a Debian 12 VM sized 8 GB RAM, 4 vCPU
Manual, full control
Hardware you already own
Local network; self signed cert (reachable by IP or hostname)
Akamai cloud, manual
A cloud account; an 8 GB shared Debian 12 instance you build by hand
Most steps, most learning
Pay for the VM (plan plus optional backups ~$10/mo)
Anywhere; upgradeable to a real Let's Encrypt cert
Akamai + Let's Encrypt
The above plus a domain name and an A record
Extra certbot and symlink steps
Same VM cost
Anywhere, green padlock, auto renewed
DigitalOcean marketplace
Just a DigitalOcean account
Near one click
Fixed $48/mo app plan
Anywhere; self signed by default, forced password change on first login
Figure 4. Four ways to the same Kasm, ordered by how much you do yourself. Proxmox costs nothing extra if you already run a hypervisor but stays on your network. The manual Akamai build teaches the most and can be hardened with a trusted certificate. DigitalOcean's marketplace app is the fastest to a working instance but the least hands on and a fixed monthly price.
Key takeaways
Kasm streams containerized apps and full Linux desktops into a browser tab. Each workspace is a Docker container on the server; a Chrome workspace is a browser running inside your browser, centrally reachable from any device.
The installer is the same everywhere: download the Linux Server tarball from the releases page, tar -xf, cd kasm_release, sudo bash install.sh, accept the agreement, and save the printed [email protected] credentials.
Recommended sizing is roughly 8 GB RAM and 4 vCPU (4 GB works and is cheaper). Use Debian 12 across all four methods.
Do the generic Linux server hygiene first: a non root user with sudo, a real hostname in /etc/hostname and /etc/hosts, apt update and dist-upgrade, then a reboot. Secure SSH separately.
Proxmox equals bare metal. The VM steps are not Proxmox specific and apply to a physical server or any other hypervisor.
On cloud, a domain plus an A record unlocks a trusted certificate. Install certbot, ensure certbot.timer is enabled, stop kasm_proxy to free port 80, run certbot certonly --standalone, back up the self signed kasm_nginx.crt and .key in /opt/kasm/current/certs, and symlink Let's Encrypt's fullchain.pem and privkey.pem in their place, then reboot.
DigitalOcean's marketplace app is the shortcut: create a droplet from the Kasm listing (a fixed $48 per month plan), wait for it to instantiate, and log in with [email protected] / kasm, which forces an immediate password change.
The self signed cert warning is expected and safe to accept during setup on every path; only the Let's Encrypt step removes it for good.
Chapters
0:00 Intro
1:09 Sponsored disclaimer
1:47 Section 1: What is Kasm?
3:47 Section 2: Setting up Kasm within a Proxmox VM
5:43 Initial VM setup
17:37 Section 3: Kasm in a Cloud instance on Akamai
21:48 Initial instance setup
32:16 Securing the Akamai instance via Let's Encrypt
41:37 Section 4: Deploying Kasm on DigitalOcean
Notable quotes
0:37 "Self hosting is fun. So anytime I get to do this, I quite enjoy it."
1:09 "This video is being sponsored by Kasm. However, just like all the other videos on this channel, Learn Linux TV retains full creative control over this content."
2:19 "I effectively have Google Chrome running nested inside another browser. And the cool thing about this is that by having a web browser inside Kasm, I can have a centrally available browser that I can connect to from any other machine."
3:00 "You can even play Doom through this solution."
8:20 "Nothing that I've gone over so far in this section is specific to Kasm. These are best practices when it comes to setting up a brand new Linux server."
16:40 "Here we have a full Debian desktop running inside the web browser. How cool is that?"
19:40 "Manual builds are more fun because you learn a lot more during the process."
41:20 "Everything is secure. So that's pretty cool."
Learn Linux TV and the Learn Linux TV YouTube channel, Jay LaCroix's Linux tutorials, including his separate Kasm getting started, Proxmox template, and new Linux server hardening videos.
wget and nano, the command line tools used to fetch the installer and edit config files.
Where it stands
This is a straight, well made deployment tutorial, and the four paths genuinely cover the common cases: your own hardware, a hand built cloud box, that same box hardened with a real certificate, and a marketplace shortcut. A few honest caveats a viewer should carry in. The video is Kasm sponsored, disclosed openly; the product is real and self hostable, but the framing is naturally favorable. The version shown on the downloads page will be older than whatever is current when you read this, so always take the latest release. Sizing at 8 GB RAM and 4 vCPU is comfortable but not minimal; the 4 GB option Jay mentions is fine for light use and cheaper. The DigitalOcean marketplace plan is a fixed $48 per month, which is more than a comparably specced instance you build yourself, so the convenience has a price. And the Let's Encrypt swap using symlinks into /opt/kasm/current/certs is clean, but on a Kasm upgrade you should confirm the proxy still points at those filenames. None of this undercuts the tutorial; it is simply the context around a solid, reproducible guide.
Full transcript
Hello again everyone and welcome back to Learn Linux TV. In this video, what we're going to do is check out Kasm. Specifically, what I'm going to do is show off multiple ways of deploying Kasm. So regardless of whether you have a physical server, access to virtual machines, or maybe want to set up a cloud instance, in this video I'm going to go over several different methods for installing Kasm, and it's going to be a lot of fun.
And if you've never heard of Kasm before, this solution enables you to do all kinds of cool things such as building virtualized workspaces, setting up a centrally available web browser, and it also allows you to deploy all kinds of applications. Also, it's important to note that you could self host Kasm, so it's a great fit for home labs as well as business. You can install it on just about any Linux server. They support a handful of distributions, and let's face it, self hosting is fun. So anytime I get to do this, I quite enjoy it.
Now, before we get started, I just wanted to mention that this video is being sponsored by Kasm. However, just like all the other videos on this channel, Learn Linux TV retains full creative control over this content. I decided to work with Kasm because I legitimately love this application. It's a ton of fun. There's something that's really cool about building applications within your web browser, and Kasm is really easy to use, and you're going to see it in action in this video. Anyway, with all that said, I'm really excited to get started. So what we'll do in the first section is set it up within Proxmox and then from there we'll see other methods as well. So let's get started.
Before we set up Kasm, I wanted to spend a few minutes to show it off and show you what it looks like and how it works. Kasm is a solution that enables you to quickly and easily deploy applications right from within your web browser. And there's a ton of apps available such as web browsers, entire Linux distributions, and you can even play Doom through this solution. The way it works is you'll log in to the web console. You'll have two tabs, workspaces and admin. The workspaces tab will show off any apps or workspaces that you have installed. And when you click on a workspace, it'll launch the application. For example, if I click on Google Chrome, it'll launch Google Chrome and I can begin using it. And keep in mind that this solution is running within a native web browser on my computer. So I effectively have Google Chrome running nested inside another browser. And the cool thing about this is that by having a web browser inside Kasm, I can have a centrally available browser that I can connect to from any other machine, giving me the ability to access my browsing tabs and history all from one place.
There's more you can run within Kasm than just a web browser workspace. Like I mentioned, there's entire Linux distributions available here. So if you wanted to run Debian, for example, you can have a full desktop within your browser as well. And as I scroll through the list, you'll see that there's all kinds of apps available, everything from desktop to server applications. And you can basically run all of your most important applications right from within Kasm. Now, I'm not going to go any further when it comes to how to use Kasm than this because I have a video on my channel already that will show you how to use it. In this video, we're going to focus on setting it up. But if you want even more information on how to actually use Kasm, then definitely check out my getting started video. I'll leave a card for that video right about here if you're interested in checking it out. Anyway, with all that said, let's get started. In the next section, what I'll do is show you how to install Kasm within Proxmox.
First, let's take a look at the process of setting up Kasm within a virtual machine. I'm going to use Proxmox as an example because that's the virtualization solution that I happen to use. But for this step, it really doesn't matter if you're using something else as the steps in this section aren't all that specific to anything. In fact, if you're planning on installing Kasm on a physical server, then these steps will work fine there as well. On my end, I'm logged into my Proxmox server, and what I'm going to do is create a virtual machine. To save a bit of time, what I'm going to do is just use a template. Templates within Proxmox are a great way to have a preconfigured environment ready to go. So what I'm going to do is just use this template right here for Debian 12. Now, if you're curious how to create a template within Proxmox, I do have videos on my channel that cover exactly that. But you don't have to use a template. You could just create a VM manually if you don't have a template. But since I do have a template, I'm going to use this one right here. So what I'll do is just right click and clone it. And for the name, I'm going to call it kasm. Although it probably doesn't matter. I'm going to perform a full clone. And I'll clone the instance.
Right here, we see that the cloning process has begun. So I'm just waiting for that to finish. And once it does, this VM right here should be ready to go. Now, before you start your virtual machine, we'll need to make sure that it has the appropriate specs to run Kasm. In Proxmox, what we'll do is click on hardware right here. And we're going to increase the memory. I recommend at least 4 GB, but what I'm going to do is pump it all the way up to eight. I'll click okay. And then for processors, what I'm going to do is bump this up to four. We want to make sure that we have enough resources to run Kasm. And that should be all there is to it. So now what I'll do is start the VM and then once it comes up we'll start configuring it.
And it looks like it's ready to go. Now what I'm going to do on my end is use SSH to connect to this particular instance. In Proxmox I can get the IP address for the instance in the summary tab. And here it is right here. So I'll switch over to a terminal. So I'll type SSH then the IP address and I'm connected. Anyway, now that we have a virtual machine to use, there's a few things we'll do in order to configure the VM and then we'll go through the process of installing Kasm.
And first, we'll need a non root user to work with. This has nothing to do with Kasm itself. It's just a best practice. I already have a non root user on my end. I'm currently logged in as user j, and that user existed in my template. But if you don't already have a user account and you're currently logged in as root, you could use the following command to create your user. You just simply type adduser and then your username and then you go through the prompts. Now the next thing to check is to make sure that your user has sudo access. So on my end here on Debian, I am a member of the sudo group. It's the fourth one over. But if you're curious what command you would use to add your user to the sudo group, what you would do is run usermod dash lowercase a uppercase G, the name of the group, and then the name of the user. Just like that. Now obviously I don't have to do that on my end because I'm already a member of that group. So we'll continue.
The next thing that I recommend that you do is update the hostname for your virtual machine. And to do that, I'll run sudo and then nano. And we're going to edit /etc/hostname. Just like that. In the template, the name of the instance is Debian. But that's a little too generic. So what I want to do is just give it a hostname that reflects the actual usage of the server. What I'll do is just name it kasm. Simple enough. And then I'll hold control and press O to save the file and enter to confirm and then Ctrl X to exit out.
Next, what I'm going to do is edit /etc/hosts. So again, I'll run sudo nano and we want to update the etc hosts file. And all I'm going to do is just change my hostname right here to the same one I entered in the other file. Note that I have an IP address of 127.0.1.1. So just make sure you're not overwriting the localhost that you already have here. You could just use mine as a configuration example if you need that. Anyway, we'll save the file again. Control O and then enter and then Ctrl X to exit out.
Now that we've configured the hostname, we should install all available updates before we install Kasm. And to be clear, nothing that I've gone over so far in this section is specific to Kasm. These are best practices when it comes to setting up a brand new Linux server. In the case of updates, it's important to start every project with everything up to date, which generally makes things run more smoothly. On my end, I'm running Debian. So what I'll do is type sudo apt update. That'll refresh the package repository index. And that's all set. Note that that step is only required on Debian. If you're using something else, then you don't have to run that command. If you're running Ubuntu, you would also run sudo apt update. Anyway, the next command we're going to run is going to actually install the updates. So what we'll do is type sudo and then apt dist-upgrade. Just like that. And I'll press enter. So we have more than a few updates here. I'll just press enter to accept the default of yes. Shouldn't take too long.
And the process is complete. To finalize the process, it's important to reboot our server. Not only because we changed the hostname, but we want to make sure that all security updates are in full effect. So what I'll do to reboot the server is run sudo and then reboot. Just like that, and press enter. While the instance is rebooting, I wanted to make sure you're aware that I have an entire video that goes over the first things that you should do every time you set up a new Linux server. We've actually gone over a few of the things from that video already, but another thing you should pay attention to is securing SSH, and that's really important. If you don't already know how to do that, be sure to check out the video that I mentioned. I'll leave a link in the description that'll take you right to it. If nothing else, definitely secure SSH.
Anyway, let's get back to Kasm. It's finally time to install it. To do so, we'll first need to download it. And to do that, we'll navigate to the releases page to see what the latest version happens to be. And here we have the download page for Kasm Workspaces. We can see from the verbiage here what the latest version is at recording time. We want to make sure that we select the first option right here for Linux server. And here we have the download button. Now, I'm not going to download it on my local computer. What I'm going to do instead is right click on this button and I'm going to click copy link. Once we have that, we'll switch back to a terminal. Then we'll reconnect to our VM.
And here we are. We want to make sure that we have the wget command available. And you can see that I do. Now, if you run this command and don't see any output at all, then that means wget is not available. If it's not, you'll just have to install that package. So you might have to run sudo apt install and then wget. Or if you're on a different distribution such as Fedora or CentOS, then you would run this command right here. I already have it though, so I don't need to run that. But what I will do is type wget and then I'll paste in the URL that I copied earlier. And what this is going to do is download Kasm right here within the virtual machine. So I'll press enter and it's done. It was literally that quick.
Anyway, now we have it downloaded. So what we'll do is extract it. And to do that, we'll type tar and then dash xf just like that. And we're going to give it the file name that we just downloaded. So I'll press enter. And we see that we have the kasm release directory right there. Inside the directory, we have an install.sh script. And that's what we're going to run. So what I'll do is type sudo and then bash and then I'll point it to install.sh just like that. And press enter. And it's going to ask us a few questions during the process. Everything is pretty straightforward. So we're going to accept the agreement. It's going to install the packages that it needs to run. So we'll give that a moment to finish.
And it looks like the process is complete. Once it finishes, it's going to give you all of the credentials that you'll need to access the solution. What you're most interested in is the username and password right here for the Kasm UI login. So it gives me my password and the username. Now, obviously, you wouldn't show this in clear text to anyone, and I am showing this in clear text, but this is just a demo instance, so it doesn't really matter. But we have the username and password that we need to access Kasm.
Now that we have Kasm installed, let's look at how to access it. The preferred way to access Kasm is via the fully qualified domain name or the hostname basically of your instance. I'm recording this from the studio. I don't actually have DNS at this particular location. So what I'm going to do is just access it through the IP address. We'll need to use HTTPS for this particular solution and that's the IP address. So we'll go to that. And if you see this particular error this is okay. This just means that we're using a self signed cert. So this is expected. I'll click accept the risk and continue even though there isn't a risk in this case. And here we have the login page for Kasm. For the username, what we're going to do is type admin and then at kasm.local and then for the password, we'll paste in the password that was provided to us when we installed Kasm. I'll click login. And here we have Kasm. It's installed and it's ready to go.
And just to test that everything is working properly, what we'll do is set up a workspace. To do that, we'll click on workspaces right here. And then we'll go to the registry. And here we have a list of workspaces that we can install within Kasm. So randomly, what I'm going to do is choose Debian right here. Debian Bookworm. Think that'll be pretty interesting to see. So we're going to install that. And that's going to be installed in the background. And to make it interesting, I'll also install Google Chrome as well. So we'll install that. And now that's downloading in the background. Anyway, what we'll do is go back to the workspaces tab right here. And we'll see the workspaces that we chose to install. Now, notice we have a red exclamation mark here on both of these workspaces right here. And that just means that the setup process is not done yet. So we won't be able to access these until that's finished. So I'll give it a moment. And then once these workspaces are set up, we'll check them out.
All righty. On my end, we can see that the Debian Bookworm workspace is finished. Google Chrome is taking a little bit more time, but what I'll do is just click on Debian Bookworm. So we could check out what it looks like to run a Linux distribution inside your web browser, launch the session, and here we have a full Debian desktop running inside the web browser. How cool is that? There's also some applications that are installed by default as well. But as you can see, this is an actual Linux distribution. I can use this to run all of my applications. That's just so cool. Now, what I'm going to do is click right here to leave this particular session. And that takes me back to the main page. I'll stop this container because I don't plan on using this anymore during this recording session. So we'll stop this workspace. And there we go. We also see that Google Chrome is finished. So if I click on that, we have essentially a web browser within a web browser, which is really interesting. But anyway, as you can see, we have Google Chrome right here. Now, of course, there's a lot more to Kasm than just this, but I have an entire video that gives you an overview of how to use it once you get it installed.
In this section, we'll take a look at how to set up Kasm within a cloud instance. The cool part about this is that we'll set up an instance that we'll have access to wherever we happen to be without having to open up something within our home network. Also, you won't need physical hardware or a virtualization solution for this since you could run the entire solution from the cloud. So let's go through the process of installing it. For this section, I'll show you the process of setting up Kasm within Akamai, one of a handful of cloud providers that you can use. Of course, you don't have to use Akamai to deploy Kasm. You could always use another cloud provider. In fact, later in this video, I'm going to show you the process of deploying it within DigitalOcean as well. If you're not currently using Akamai or DigitalOcean to deploy cloud instances and aren't sure which one to use, in my opinion, they're both good. You could pretty much flip a coin and whichever one you land on will be perfectly fine. However, the DigitalOcean process is much faster than Akamai as DigitalOcean makes a marketplace app available that simplifies the process quite a bit. Anyway, as we deploy Kasm within Akamai in this section, we'll be building it manually. There's going to be more steps in the process when compared to the DigitalOcean section later in the video, but don't worry, I'll walk you through everything and guide you every step of the way. And in my opinion, manual builds are more fun because you learn a lot more during the process.
Anyway, with that said, let's get started on deploying Kasm within a cloud instance. And the first thing I'm going to do is create a new Linode instance. For the region, we'll just choose something that's close enough to us. Think that one should be fine enough for me. And then for the operating system, what I'm going to do is choose Debian 12. This one right here. So I'll click on that. And then we'll scroll down. And next, we're going to choose the plan for the instance. Now, obviously, if you're using a cloud provider, you will be billed for the virtual machine. So just keep that in mind. What you want to do is just choose an instance type that's affordable and also good enough to run Kasm. The shared CPU instances are usually cheaper. So I'll click on that tab right here. And what I'm going to do is choose this one right here, the 8 GB version. Now, honestly, you could probably get away with a 4 gig version. You definitely save a lot of money by doing that, but you know what? Go big or go home, right? But I'm going to choose this one right here to make sure there's space for future growth. And that's a good way to go. So I selected that instance type, and what I'll do is scroll down, and we're going to give it a label.
Now, in the case of a cloud instance, what I recommend that you do is give it a label that matches the fully qualified domain name that you plan on using. Now, obviously, you don't need a domain name for this, but if you have one, it makes the process a lot better. So what I'm going to do is give it the following label. I'm going to call it kasm.learnlinux.tv. For the root password, I'll just type that in right now. And I'll keep scrolling here. Most of this should be fine for what we need. I have backups enabled as part of my plan. So that's going to add $10 per month. That's an account level thing. All of the instances that I create within Akamai are going to have this set up. That's something you can set up in options. But if you don't have that restriction set up, you could just uncheck this box if you don't plan on using backups. Or if you do plan on using backups, then keep this checked. Anyway, what I'll do right now is click create Linode and we're going to give it a minute to complete.
So it looks like the instance is running. I'll click right here to launch a console just to make sure that it's fully online. Sometimes it takes a moment even after it shows running before it's fully available. But here we see the login page. So I know that it's working. So what I'll do is connect to this instance via SSH. I'll copy the IP address and then switch over to a terminal and then right here I'll type SSH. By default, the instance is going to use the root user. So root and then at and then we'll paste in the IP address right here. Let's connect. And there we go. We are connected to my brand new Debian VPS instance.
Now, before we configure this, let's set up a domain name for it. This is optional, but what I'm going to do right now is set it up so that way by the time we get to the end of the process, hopefully DNS will be fully propagated. So what I'll do is go back to my Akamai dashboard. I'm going to click on domains right here. If you don't already have a domain, you can create one right here. I'll leave that up to you. But I have a few domains right here. So what I'm going to do is click on learnlinux.tv. I'm going to add it as part of that domain. I'll scroll down. And what we'll want to do is create an A record. I'll click add an A record. For the hostname, I'll call it kasm. I'll paste in the IP address right here. I'll set the time to live as a lower value. Um, that's not something that you'll need to do on your end, but if you're recording video and you want to, you know, re record a section, it's always good to have DNS time out very quickly. But what I'll do is click save. And that'll create the DNS record as you see right here. Now, obviously, it's going to take it some time for this to propagate. Depending on your DNS provider, it might take a while. If you're using a different DNS provider, you'll add the IP address to your DNS provider as an A record like I did and then make sure you remember the name that you gave it. I just called mine kasm. Should be simple enough.
Anyway, what we'll do is switch back to a terminal and let's begin setting it up. Now, the first thing that we should do is set up a non root user for ourselves. So to do that, I'll type adduser. I'll create my user account as j. Just like that. I'll type in a super secret password. I'll confirm it and I'll just press enter through all of these values right here. I really don't care about those fields. And then I'll confirm it by pressing enter to yes. And next, what we'll do is add our user to the sudo group. If I type groups and then my username, you'll see that I am not a member of that group. So let's fix that. We'll run usermod dash lowercase a uppercase G. The name of the group that we need to add is sudo, at least on Debian. Some distributions that might be wheel for the sudo group. On Debian and Ubuntu, it's just simply sudo. And then we type the name of our user that we want to add to that group. And as you can see, I am a member of that group.
With that done, what I'll do is type exit. That'll bring me back to my local terminal. And then what I'll do is SSH into the server via the user that I just created. So the command will look like that. And now we're connected. And this time I'm logged in as my normal non root user. So that's good. Now that we have a non root user set up, we're going to configure a few more things. The first of which being the hostname for the server. So I'll run sudo nano and then /etc/hostname. And what we're going to do is change the name. If you have a domain name, you could use that or you could just simply call it kasm if you don't. But my domain name is kasm.learnlinux.tv. So if you do have a domain name, make sure that's reflected right here. We'll save the file. And to do that, we'll hold control and press O to bring up the save dialogue. Enter to confirm. And then Ctrl X to exit out of the editor.
To make sure that the new hostname is fully in effect, we'll edit one more file, /etc/hosts. And then here we'll add a new line, 127.0.1.1. We'll type in the fully qualified domain name if you have one. And then the simplified version without the domain name. If you don't have a domain name, you can simply add kasm for this line right here and that should work just fine. But since I do have a domain name, I'll make sure that it's accurately reflected right here. We'll save the file and exit.
Next, what we'll do is install all updates. We'll want to make sure that we're starting from a freshly updated instance. To do that, I'll run sudo apt update. And that's going to update the package repository index. Then to install any updates that might be available, run sudo apt and then dist-upgrade. Just like that. So it looks like the Linux kernel is being updated in this case. And if you see the Linux kernel coming in for an update, that means we're going to need to reboot the instance before we start using it to make sure that we're using the fully updated kernel. And that should do it. So with all of that done, what we're going to do now is reboot the server. That'll make sure that any updates that might have been applied are fully in effect. And I'll give it a few minutes and I'll be right back.
Now that some time has passed, what I'll do is attempt to reconnect to instance, I'll just recall the previous command and we're connected. Now notice if I type the hostname command, the server reports the hostname that I entered earlier. So far everything is ready to go and we're ready to install Kasm. And to get the process started, what we'll do is download Kasm directly inside the instance. We can go to kasm.com/downloads to grab the download link. We'll make sure that Linux server is selected. And then what we'll do is right click on the download button. We'll click copy link. And then we'll switch back over to terminal. And we'll make sure that we have wget installed. And in this case, I do. But if you don't on your end, all you have to do is install the wget package. For example, you might run sudo apt install then wget. But I don't need to do that because I already have that command available. Next, what we'll do is type wget and then we'll paste in the URL. This one right here. So I'll press enter to download the Kasm installer. And it's already done. It gave us that file right there. So what we're going to do is extract it, which we could do by typing tar and then dash xf. We'll give it the file name and enter. Now, we have a kasm release directory. So we'll go into that directory right there. And inside that directory, we have the following files. And to get the ball rolling when it comes to the installation, what we'll do is type sudo and then bash. Then we'll run the script. Just like that. I'll press enter. I'll type Y to accept the agreement and press enter. And now Kasm is installing.
And the process of installing Kasm has completed. Here it's going to give us our login credentials. So what I recommend you do is copy all of this information in a safe place and then in a web browser, what we'll do is attempt to connect to Kasm. What I'm going to do is try to use the fully qualified domain name, which may or may not work at this point depending on whether or not DNS has been propagated. So I'll type https, then kasm.learnlinux.tv in my case, and let's see if it works. And in this case, it's having trouble finding the site, most likely because DNS hasn't yet been propagated. If this happens, you have to give it just a little bit more time and then try it again. Now that some more time has passed, let's see if the DNS record has propagated in my case. I'll refresh the page and it looks like it's working.
Now, in this case, we have a self signed cert, so we're going to see this particular warning. And that's okay. This is expected. And actually, I'm going to show you how to fix it shortly, but for right now, we'll click advanced. And then we'll click accept risk and continue. And that brings us to the login page for Kasm. To log in, what we'll do is type in admin, then at kasm.local, and then we'll paste in the password that we were provided when we installed it. I'll click login. And check it out. We are officially using Kasm right now. At this point, we can begin using it. You can click on workspaces right here and then go to registry. And then you can install any of the apps that you see right here. Just for fun, I'm going to click on Firefox. Let's install that. Just one of many things that you can install. And then we'll go to workspaces. And we'll see that Firefox is listed right here. Now, there's an exclamation mark here on top of the icon. That just means that it's not done yet. It just needs a bit more time to fully create itself, but we do have a workspace right here that'll soon be ready for use.
Now, while we're waiting, what I recommend we do is set up secure access. Earlier, you saw me bypass a cert warning, but it would be a lot better if we didn't have to deal with that at all. So what I'm going to do is show you how to set up a TLS certificate with Let's Encrypt. Keep in mind that this does require a domain name. So if you don't have a domain name, you won't be able to go through this particular process, but if you do, you can follow along with me as I set up secure access to Kasm. To do that, I'll switch back to the terminal and we'll set it up.
And to get the process started, what we'll do is install Certbot. That's the official utility for Let's Encrypt Certificates. So we'll run sudo and then apt install and then certbot. Just like that. I'll press enter. Enter again. And it shouldn't take too long for this to install. It's a very small utility. In fact, it's already done. Now, at this point, we don't have a certificate yet. But what we're going to do right now is make sure that the certbot timer is enabled. What the certbot timer will do for us is make sure that it automatically renews a certificate anytime it comes up for renewal. So to check the status of that, what we'll do is type systemctl and then status and then certbot.timer just like that. In my case it's active which means it's running and it's also enabled. If for some reason it doesn't show up as active or enabled on your end, what you could do is run sudo systemctl enable --now and then certbot.timer. On my end, I don't need to do this. If you have both enabled and active waiting as the status, then you're fine. But if not, you can run this command right here, which is not only going to enable the timer, it's also going to start it immediately.
Anyway, next what we're going to do is stop the Kasm proxy service. And to make that process a little bit easier, what I'm going to do is add myself to the Docker group. Right now, I'm not a member of that group. So what I'll do is type sudo, then usermod dash lowercase A, and then uppercase G. The group name is Docker, and then I type in my username. Now, at this point, the change is not effective. It shows that I'm still not a member of that group. So what I'll do is type exit to log out of the server, and then I'll log right back in. In this case, I know that the domain name for this instance has propagated. So I don't need to use the IP address anymore. I can now log in via the fully qualified domain name. Just like that. So I'll press enter. I'll say yes. And there we go. Now, at this point, you can see that I am a member of the Docker group. And the reason why I'm having you do this is because it makes the process of working with Docker a lot easier.
What we're going to do is stop the Kasm proxy container. So I'll type docker stop kasm_proxy. Just like that. Now, if you did not add your user to the Docker group like I just did, you'll need to use sudo for this particular command. Adding your user to the Docker group basically saves you from having to do that. Gives you permission to manage Docker. Anyway, I'll press enter. And now that process is done. At this point, what we could do is attempt to obtain a certificate through Let's Encrypt. And to do that, we'll type sudo and then certbot. We'll use the option certonly. And what that means is we're going to copy the certificate files manually where they need to go. It's easy enough anyway. Then dash dash standalone. We'll agree to the terms of service, then dash dash preferred dash challenges then http then dash d and then we'll type in the fully qualified domain name to our instance, in my case that's kasm.learnlinux.tv. Just like that. I'll press enter. Let's see what happens. We'll type in our email address here. So I've typed in my email address right here. I'll press enter. And in this case, it's asking us if we want to share our email address with the EFF. That's not required. So what I'll do is say no to this prompt right here. And for some reason, I had to run that command again. I'm not really sure why, but the second time was a charm, apparently. As you can see right here, it's telling me that it was able to provide a certificate for my server.
Now, at this point, the new certificate does exist on the server, but Kasm isn't going to use it until we set it up to use it. So here's what we're going to do to set that up. We're going to change directory into the app directory, kasm current and then certs. And as you can see, we have a few files in here. What we're going to do right now is back up the current certificate, the self signed certificate. And to do that, we'll type sudo, then mv. We're going to move the kasm nginx certificate. I'll just give it a simple name. Just like that. Next, we'll rename the key as well. And now we don't have any certs on this particular instance since we renamed them. But what we're going to do right now is create symbolic links to the certificates that were provided by Let's Encrypt to facilitate the TLS layer.
And to set that up, what I'll do is switch over to the root user. By default, a normal user does not have access to the certificate directory where the Let's Encrypt certificates are being stored. So I just type sudo su and then hyphen. Just like that. Now I'm logged in as root. Let's go back to the kasm directory. And we're back into this directory right here. And what we're going to do is type ln -s /etc/letsencrypt/live and then the fully qualified domain name. And this is going to be for the private key. And the link name is going to be the original name of the key before we renamed it. So we're going to run that command right there. And you can find these commands down in the description below if you need to copy and paste anything. But what I'll do is press enter right here. Next, what we're going to do is create another symbolic link. This time, we're going to target the full chain file and we're going to name it kasm_nginx.crt. Just like that. And if you're following along with me, you should have similar output as you see right here when you run ls -l. We have the backup files for the certificate and the key. As you can see, they end in back. And then we have the actual certificate file and the key file pointing to the Let's Encrypt certificates. So far so good.
At this point, I can exit from the root session. And let's restart the server to make sure that everything comes up properly. So I'll type sudo reboot just like that and press enter. So I think enough time has passed after the reboot. So I'll just reconnect to instance. And there we go. Now at this point if we access Kasm through a web browser we should see a secure connection this time. So here I have the session that was in my cache. I didn't refresh the page or anything. Notice currently it doesn't show that we have a secure connection. So I'll refresh the page and let's see what happens. And check it out. We have a secure connection. If I click on the padlock right here, you can see that this connection is secure. It's verified by Let's Encrypt. We didn't see that certificate warning at this point. So we should be all set and ready to go when it comes to a cloud instance. As you can see, I can launch my Firefox session. Everything is secure. So that's pretty cool.
Next, I wanted to show you how to deploy Kasm in the cloud using DigitalOcean. Running Kasm on a cloud instance will give you advantages over running it within your local network. It's faster to deploy and ideal for remote access without the hassle of opening ports or dealing with firewall rules. Kasm themselves offer an official marketplace app within DigitalOcean, which makes the setup process a breeze. Although I'll be using DigitalOcean for this example, keep in mind that there's nothing stopping you from deploying Kasm with another cloud provider. Depending on which service you use, you might need to install it manually. Some cloud providers have a marketplace equivalent, while others don't. For example, the Amazon Web Services Marketplace has Kasm available as well. However, even if your cloud provider doesn't have a built in deployment, you could always set it up manually like we did earlier in the video.
We'll be using DigitalOcean in this section because it's a pretty easy cloud provider to work with, and it's really easy to set up Kasm with their marketplace app. If you don't already have a DigitalOcean account, then you can check the description below for a link to set up a new account. As a disclaimer, it's an affiliate link. Although DigitalOcean is not a sponsor of Learn Linux TV as of the time I'm recording this, I do earn hosting credit if you use my link. Your outcome will be the same regardless of whether you use my link to sign up or just go to DigitalOcean's website and do it manually. But I always appreciate you guys supporting my content and my affiliate link is one of many ways that you could do that. One last thing before I show you the process. If you use a cloud provider such as DigitalOcean, you'll be billed monthly as this is not a free service. With my affiliate link, you'll get $200 in account credit over 60 days. But if time runs out on that or you exceed the credit amount, you'll start to be billed. Whenever you use any cloud provider, it's important to keep an eye on your bill. But thankfully, DigitalOcean's billing is straightforward and you only pay for what you use.
That said, after you sign into your DigitalOcean dashboard, the first thing we'll do is click new project. So click on that right here. And what I'm going to do is just call mine apps. Basically, DigitalOcean allows you to separate things into different projects to help keep things organized. And we'll just fill this out right here. Keep it simple. And I'll click create project. Click skip for now. I don't have anything that I want to move into that project. And here we have the workspace. As you can see right here, I have two different projects set up within DigitalOcean. So just make sure that you're on the project that you just created, and then we'll continue. To get the ball rolling, we'll scroll down to the bottom of the left hand menu right here. We're looking for marketplace. And here it is. So click on that. And what we'll do is search for Kasm. And here it is. So click on it. And what this allows us to do is set up Kasm within DigitalOcean pretty much automatically. All we have to do to create our Kasm instance is click this button right here. So I'll do that.
And all we have to do is fill out the information right here. So you just choose a location that's close to you. I think that's close enough to me anyway. So we'll scroll down. The image has already been selected for us. So we don't have to do anything there. And we could choose a different plan, but as of right now, there's only one available. As you can see, it's going to cost $48 a month to run Kasm through this particular service. So just keep that in mind. You can always enable backups if you plan on using this full time. Anyway, what I'll do is create a root password here. So I've generated a password and I'll paste it in right here. I'm going to just create one instance right here. And for the hostname, I'm just going to call it kasm just to keep it simple. And then we'll click create droplet. And at this point, we can go to the droplet section right here and see what's going on. So, as you can see, Kasm is being created. So this should only take just a few minutes for this process to complete.
And as you can see, it looks like the process is complete. Although after it shows that the process is complete, it still might not be. Kasm needs a little bit more time to instantiate itself after you first create it. But what we'll do to get started with Kasm is click this button right here where it says get started. That's going to bring up a side panel. And right here it's confirming that it might take a little bit more time to set up. So if you are not able to access Kasm, you can just give it a few minutes and then try again. But here we have the get started instructions. And what it's doing is giving us the URL right here that we could use to access the solution. I'll click copy. I'll paste it in right here. And let's see if it's ready. In this case, it's not able to connect. And this is what you'll see if the instance hasn't fully been set up yet. You can click try again to well try again. And at some point it should finish. But again, it could take a few minutes. So you just have to be patient with this part right here. And after it's created, you won't have to wait like this again. Once it's set up, it's set up. But we'll just give it a few more minutes and then we'll try it again.
I have a feeling that it's probably ready by now. So what I'll do is click try again and let's see. And there we go. That's pretty cool. So, click advanced. We'll accept the risk continue. And here we have the login page, but we're going to need the password. We already know what the username is going to be. That's going to be [email protected]. And the password that was provided to me is just simply kasm. So I'll type that in and click login. And it's going to ask me to change the password. I've generated a password via a utility. I'm just going to paste it in right here. I'll click submit. Type the password in right here. And I'll click login. And there we go. As you can see right here, we have Kasm running within DigitalOcean. All we had to do is use their marketplace app. And it greatly simplified the process.
And there's our video. In this video, we set up Kasm. I showed you multiple ways of setting it up. So let me know in the comments down below which method you went along with or if you installed it by some other means. I'm really curious to see what you guys have built. In the meantime though, thank you so much for checking out this video. I really appreciate you guys. And if you haven't already done so, be sure to subscribe to Learn Linux TV for the latest in Linux. And I'll see you in the next video.