Welcome to the Meetrix RustDesk developer guide for Google Cloud Platform! RustDesk is an open-source, end-to-end encrypted remote desktop tool — a self-hosted alternative to TeamViewer and AnyDesk that keeps every session on infrastructure you control. With the Meetrix pre-configured GCP image, the hbbs (rendezvous) and hbbr (relay) services are installed and running the moment the VM boots.

This guide walks you through finding the product on GCP Marketplace, configuring the deployment, reserving a static IP, pointing clients at your server, and troubleshooting common issues.

Prerequisites

Before you begin, make sure you have the following:

  • Basic Google Cloud Platform knowledge.
  • An active Google account with a GCP project and billing enabled.
  • The RustDesk desktop, mobile, or web client installed on the machines you want to connect from.
  • A domain name you can manage DNS records for (optional — an IP address works too).

Launch the Product

Step 1: Find the Product

  1. Log in to your Google account.
  2. Go directly to the product page: RustDesk on Ubuntu: Secure Remote Desktop AMI Deployment
  3. You can also browse all Meetrix products at the Meetrix Solutions Page.
  4. You will see the product listing page. Click Launch.
RustDesk on Ubuntu product listing page on GCP Marketplace

Step 2: Accept the Agreements

  1. Confirm your GCP project is selected.
  2. Tick the box under Terms and agreements to accept the Google Cloud Marketplace and Meetrix Pte Ltd terms of service.
  3. Click AGREE.
Accepting the agreements before deploying RustDesk on GCP

Free Trial

This product includes a 5-day free trial with up to USD 50.00 in licence fee credits. To activate it, tick I accept the solution trial Terms and Conditions on the launch screen before proceeding.

Accepting the RustDesk GCP free trial terms

Trial note

Infrastructure charges (VM, disk) still apply during the trial. Only the Meetrix licence fee is credited. You can cancel the trial at any time by deleting the deployment.

Step 3: Configure the Deployment

You will see the deployment configuration form, with Terraform and Command-Line deployment tabs. Fill in the fields across the following sections:

RustDesk GCP deployment configuration form showing deployment name, service account, zone and machine type

General

  • Deployment name — A unique name for this deployment.
  • Deployment Service Account — Use an existing service account with the compute.admin, config.agent, and iam.serviceAccountUser roles, or create a new one.
  • Zone — Select the GCP zone closest to your users (e.g. us-central1-a).
  • Machine type — Default e2-small (up to 2 vCPU, 2 GB RAM) suits a small team. Choose a larger type for heavier concurrent usage.

Boot Disk

  • Boot disk type — Default Balanced persistent disk is recommended.
  • Boot disk size — Default 20 GB is sufficient.

Networking

  • Network / Subnetwork — Leave as default unless you have a custom VPC.
  • External IP — Leave as Ephemeral for now. You will reserve a static IP in the next section before distributing the address to clients.
  • Allow SSH (TCP port 22) — Enabled by default. Restrict the source IP range if you want to limit SSH access to specific IPs.
RustDesk GCP networking configuration showing network interface and firewall settings

Once the fields are filled in, follow the on-screen instructions in your chosen tab (Terraform or Command-Line deployment) to deploy, and wait a few minutes for the deployment to complete.

Reserve a Static IP

Do this before sharing your server address

An ephemeral IP changes if the VM restarts, which breaks every client that already has the old address saved. Reserve a static external IP before you configure any clients.
  1. Open the VM instance created by the deployment and note the External IP under Network interfaces — it is marked (Ephemeral).
  2. In the GCP console, go to VPC network → IP addresses, find that same address, and click Reserve Static Address (or promote it directly from the VM instance details page).
  3. Copy the reserved external IP — you will enter this into every RustDesk client.
RustDesk VM instance network interfaces showing the ephemeral external IP on GCP

Point DNS to the Server (Optional)

If you prefer a hostname over a raw IP:

  1. Go to your DNS provider.
  2. Add an A record pointing your chosen subdomain (e.g. remote.yourdomain.com) to the reserved static IP.
  3. Wait for DNS propagation before proceeding (typically a few minutes to 1 hour).

SSH into the Server

  1. Go to the VM instance page in the GCP console.
  2. Click SSH to open a browser-based terminal and authorize access.
RustDesk VM instance details page with the SSH button and Logs section on GCP

Install and Configure the RustDesk Client

Step 1: Download the Client

  1. Go to the RustDesk releases page.
  2. Download the installer for your operating system (Windows, macOS, Linux, Android, or iOS).
RustDesk client download page listing installers by operating system

If you need a specific build (e.g. an older architecture or package format), scroll down to the Assets list on the same release and pick the matching file.

RustDesk release Assets list with individual installer files

Step 2: Open the Client

Install and open RustDesk. The Home tab shows your own device's ID and a one-time password — this is what other machines will use to connect to this device once it also points at your server.

RustDesk client Home tab showing device ID and one-time password

Step 3: Retrieve the Server Key

The Meetrix image secures rendezvous traffic with a key pair, so each client needs the server's public key in addition to its IP address. SSH into the server and open the generated public key file:

sudo nano /opt/rustdesk/data/id_ed25519.pub
Terminal output showing the RustDesk server's public key

Copy the key value — you will paste it into the client's Network settings next.

Step 4: Point the Client at Your Server

  1. Open the RustDesk client and go to Settings → Network → ID/Relay server.
  2. Enter your reserved static IP (or domain) in both ID server and Relay server.
  3. Paste the public key you copied from the server into the Key field.
  4. Click OK, then repeat this on every machine you want to connect to or from.
RustDesk client ID/Relay server settings with ID server, Relay server and Key fields filled in

Step 5: Connect

Once both machines point at your server, enter the host's ID in the Control Remote Desktop field on the client and click Connect. You will be prompted for the one-time password shown on the host's Home tab.

RustDesk client connected to your own self-hosted server, showing a remembered remote device

Manage the Server

Restart the Services

sudo docker restart <container_name>

Shut Down the VM

To stop the VM without deleting it, go to Compute Engine → VM Instances in the GCP console, select your instance, and click Stop.

Delete the Deployment

To fully remove the deployment and stop all billing:

  1. Go to Solution deployments in the GCP console.
  2. Find your RustDesk deployment.
  3. Click Delete to remove all associated resources.

Troubleshoot

Check the Service Logs

RustDesk runs on Docker. Find the running containers and check their logs:

sudo docker ps -a
sudo docker logs <container_name>

Verify Firewall Ports

In the GCP console, go to VPC Network → Firewall and confirm the following rules exist for your VM:

Service Ports Protocol
hbbs (rendezvous) 21115, 21116, 21118 TCP
hbbs (rendezvous) 21116 UDP
hbbr (relay) 21117, 21119 TCP

Client Cannot Connect

If clients cannot reach the server, double-check that the ID/Relay server field on every client matches the reserved static IP exactly, that the Key field matches the server's public key, and that the firewall rules above are attached to the VM's network tag.

Conclusion

The Meetrix RustDesk developer guide helps you get a self-hosted, encrypted remote desktop server running on GCP without spending hours wiring up hbbs and hbbr by hand. Reserve a static IP, point your clients at it, and you have a private alternative to per-seat remote desktop tools running on infrastructure you control.

Technical Support

If you run into any issues, our support team is here to help. Reach out to us at support@meetrix.io and we will respond within 12 hours.

Frequently Asked Questions

What ports does RustDesk need open on GCP?

The hbbs (rendezvous) service needs TCP and UDP 21116, plus TCP 21115 and 21118, while hbbr (relay) needs TCP 21117 and 21119. The Meetrix GCP image configures these firewall rules automatically during deployment.

Why does the client ask for a Key, not just a server address?

The Meetrix image secures the rendezvous connection with a key pair. Enter the server's IP as both ID server and Relay server, then paste the public key (found at /opt/rustdesk/data/id_ed25519.pub on the server) into the client's Key field — without it, clients cannot authenticate to your server.

Do I need a domain name to use RustDesk on GCP?

No. You can connect clients directly using the VM's external IP address. A domain is only needed if you want a stable hostname or plan to issue a TLS certificate for the web client.

Why should I reserve a static IP before launching?

An ephemeral IP changes if the VM restarts, which breaks every client that has the old address saved as its ID/Relay server. Reserving a static external IP in GCP keeps client configuration stable.

What is the default instance type and can I change it?

The default configuration uses an e2-small instance. This comfortably handles a small team; scale up to a larger machine type in the deployment form if you expect heavier concurrent usage.

How do I check that hbbs and hbbr are running?

SSH into the server and run: sudo docker ps -a. Both the hbbs and hbbr containers should show a status of Up.

Can I use this server with the RustDesk mobile and web clients?

Yes. Enter the same server IP or domain as the ID/Relay server in the RustDesk Android, iOS, or web client settings, exactly as you would in the desktop client.

Deploy RustDesk on GCP in Minutes

Launch a production-ready, self-hosted RustDesk server on Google Cloud with a pre-configured Meetrix image.

Get Started on GCP Marketplace