Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ci/vale/dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ clickboard
clickjacking
client1
client2
clientless
CLIs
clojure
cloudant
Expand Down
Binary file not shown.
56 changes: 18 additions & 38 deletions docs/marketplace-docs/guides/guacamole/index.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: "Deploy Apache Guacamole through the Linode Marketplace"
description: "Use the Guacamole Marketplace App to easily install the popular open source remote desktop and access your Linode from any device."
description: "Deploy Apache Guacamole, a clientless remote desktop gateway that supports VNC, RDP, and SSH protocols through a web browser, on an Akamai Compute Instance."
published: 2020-12-11
modified: 2023-03-14
modified: 2025-10-03
keywords: ['guacamole', 'marketplace', 'remote desktop']
tags: ["cloud-manager","linode platform","cms","marketplace"]
tags: ["cloud-manager","linode platform","marketplace"]
aliases: ['/products/tools/marketplace/guides/guacamole/','/platform/marketplace/guacamole/','/guides/deploy-guacamole-with-marketplace-apps/','/guides/guacamole-marketplace-app/']
external_resources:
- '[Guacamole Documentation](https://guacamole.apache.org/doc/gug/)'
Expand All @@ -15,7 +15,7 @@ marketplace_app_id: 688914
marketplace_app_name: "Apache Guacamole"
---

[Apache Guacamole](https://guacamole.apache.org/) is an open source HTML5-based web application used as a remote desktop gateway. With the Guacamole Marketplace App, you can access your Compute Instance with a graphical VNC session using the [Xfce](https://www.xfce.org/) desktop environment from any device. This Marketplace App installs and configures Guacamole on a Compute Instance, complete with an SSL certificate generated by [Certbot](https://certbot.eff.org/) for your domain.
[Apache Guacamole](https://guacamole.apache.org/) is a clientless remote desktop gateway that provides access to desktop environments using remote desktop protocols (VNC, RDP, SSH) through a standard web browser. Unlike traditional remote access solutions, Guacamole requires no plugins or client software installation, making it ideal for accessing remote systems from any device. This deployment uses Docker containers with PostgreSQL database backend for scalable user and connection management, NGINX reverse proxy for security, and automated SSL certificate management.

## Deploying a Marketplace App

Expand All @@ -24,57 +24,37 @@ marketplace_app_name: "Apache Guacamole"
{{% content "marketplace-verify-standard-shortguide" %}}

{{< note >}}
**Estimated deployment time:** Apache Guacamole should be fully installed within 5-20 minutes after the Compute Instance has finished provisioning.
**Estimated deployment time:** Apache Guacamole should be fully installed within 5-10 minutes after the Compute Instance has finished provisioning.
{{< /note >}}

## Configuration Options

- **Supported distributions:** Ubuntu 22.04 LTS
- **Recommended plan:** We recommend a 4GB Dedicated CPU or Shared CPU Compute Instance.
- **Supported distributions:** Ubuntu 24.04 LTS
- **Recommended plan:** All plan types and sizes can be used. For production workloads managing multiple remote connections, consider at least 4GB Dedicated CPU or Shared CPU Compute or higher for optimal performance.

### Guacamole Options

- **The limited sudo/VNC user to be created for the Linode** *(required)*: The VNC username created for this Compute Instance with sudo permissions. This is used for your VNC session.
- **The password for the limited sudo/VNC user** *(required)*: Password for your sudo/VNC user. This is used for your VNC session.
- **The username to be used with Guacamole** *(required)*: Your Guacamole Username. This is used to log in to Guacamole.
- **The password to be used with Guacamole** *(required)*: Your Guacamole Password. This is used to log in to Guacamole.
- **Email address** *(required)*: Enter a valid email address to use for generating the SSL certificates.

#### Limited User SSH Options (Optional)

- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/docs/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair.
- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](/docs/products/compute/compute-instances/guides/lish/).
{{% content "marketplace-required-limited-user-fields-shortguide" %}}

{{% content "marketplace-custom-domain-fields-shortguide" %}}
- **Admin Email:** The email address to register with [Certbot](https://certbot.eff.org/) when generating an SSL certificate for your absolute domain. This field is required along with your `API Token` and `Domain` for HTTPS access to your Guacamole remote desktop.

{{% content "marketplace-special-character-limitations-shortguide" %}}

## Getting Started after Deployment

### Access your Guacamole App

After Guacamole has finished installing, the Compute Instance will reboot. Once the instance fully boots back up, you can access the dashboard by following the instructions below.

1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). The site uses the secure HTTPS protocol.

1. In the Apache Guacamole login window that appears, enter the username and password you specified for Guacamole during deployment.

![Screenshot of the Guacamole login page.](guacamole-login-screen.png)

{{< note >}}
The Guacamole login page may take several minutes to become available while the Application completes the creation process.
{{< /note >}}

1. Once you have logged in, the Xfce graphical desktop environment for your Compute Instance will appear. This provides you with full access to your internal system through the VNC user you created.

![Screenshot of the Xfce desktop](xfce-desktop.png)
### Accessing the Guacamole Web Interface

1. Additional tasks can be performed remotely through your web browser. For example, you can install the [Firefox](https://www.mozilla.org/firefox) web browser for use with your Guacamole remote desktop by entering the following command in its Terminal Emulator:
1. Open your web browser and navigate to `https://[domain]`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/).

```command
sudo apt install firefox-esr
```
2. You should see the Apache Guacamole login page. Log in using the default credentials:
- **Username:** `guacadmin`
- **Password:** The password is automatically generated and stored in the credentials file. To retrieve it, log in to your Compute Instance via SSH or Lish and run the below `cat` command:
```command
cat /home/$USER/.credentials
```

When prompted, enter the password you chose for the limited sudo/VNC user. You can now browse the web on your Guacamole browser from within your local browser.
After logging in, you are brought to the Guacamole Web Interface. This is your central dashboard where you can create connections, and manage user accounts and permissions.

{{% content "marketplace-update-note-shortguide" %}}
Binary file not shown.