> Source: https://meetrix.io/blogs/openhands-gcp-developer-guide/
> Markdown copy of that page. Cite the URL above, not this file.

Development

# OpenHands on GCP - Developer Guide

[By Binuka Ranatunga](https://meetrix.io/blogs/authors/binuka-ranatunga/) • September 11, 2026 • 8 min read

Welcome to the Meetrix OpenHands developer guide for Google Cloud Platform! [OpenHands](https://github.com/OpenHands/OpenHands) is an open-source platform for AI software development agents that can write and modify code, run shell commands, browse the web, and call APIs, much like a human developer working through a described task. It works with a range of LLM providers, connects directly to your GitHub, GitLab, or Bitbucket repositories, and gives you a self-hosted foundation for AI-assisted software engineering without sending your codebase through a third-party SaaS tool.

With the Meetrix pre-configured GCP image, you can deploy a production-ready OpenHands instance on your own Google Cloud project in minutes. This guide walks you through finding the product on GCP Marketplace, configuring the deployment, pointing DNS and issuing SSL, configuring an LLM provider, and connecting your first repository. If you run your infrastructure on AWS instead, the [OpenHands on AWS developer guide](https://meetrix.io/blogs/openhands-developer-guide/) covers the same product as a CloudFormation stack.

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.
-   Sufficient Compute Engine CPU quota in your target region for the machine type you plan to use.
-   A domain name you can manage DNS records for, if you want automatic SSL.

## Launch the Product

### Step 1: Find the Product

1.  Log in to your Google account.
2.  Go directly to the product page: [OpenHands: Open Source Devin Alternative AI Coding Agent on GCP Marketplace](https://console.cloud.google.com/marketplace/vm/config/meetrix-public/openhands-devin-alternative).
3.  You can also browse all Meetrix products at the [Meetrix Solutions Page](https://console.cloud.google.com/marketplace/browse?filter=partner:Meetrix%20Pte%20Ltd&ref=meetrix.io).

![OpenHands Open Source Devin Alternative AI Coding Agent product details page on GCP Marketplace by Meetrix Pte Ltd, showing the Launch button, the 5-day trial badge, and the Overview tab describing a self-hosted coding agent](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-1.png)

### Step 2: Launch the Product

1.  Select your GCP project from the project selector at the top.
2.  Review the product description and pricing details.
3.  Review the terms and agreements, tick the acknowledgement checkbox, and click **AGREE**.

![GCP Marketplace Agreements page for the OpenHands deployment with the meetrix-public project selected and the terms and agreements checkbox ticked above the Agree button](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-2.png)

### 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** before proceeding.

![Free trial terms and conditions checkbox ticked on the OpenHands GCP Marketplace deployment form](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-3.png)

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. Fill in the fields across the following sections.

![OpenHands GCP deployment configuration form showing the deployment name, deployment service account with roles config.agent, compute.admin, and iam.serviceAccountUser, the zone selector set to us-central1-a, and the General purpose machine type tab](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-4.png)

#### General

-   **Deployment name** - A unique name for this deployment (a default is pre-filled).
-   **Deployment Service Account** - Select an existing service account that has the `roles/config.agent`, `roles/compute.admin`, and `roles/iam.serviceAccountUser` roles, or let GCP create a new one for you.
-   **Zone** - Select the GCP zone closest to your users (for example `us-central1-a`).

#### Machine Type

-   **Series** - The `General purpose` tab is preselected.
-   **Machine type** - Choose an instance sized for how many concurrent agent sessions you expect to run. A larger machine type helps when working on large codebases or running multiple sessions at once.

GCP shows an estimated monthly cost, made up of the Meetrix licence fee and the underlying infrastructure fee, based on your selected machine type and disk size before you deploy.

### Step 4: Configure Networking

-   **Network** and **Subnetwork** - Leave as `default` unless you have a custom VPC.
-   **External IP** - Leave as `Ephemeral`. Select `None` only if you do not need public internet access (not recommended, since you access the dashboard over HTTPS).
-   **Allow SSH (TCP port 22) from the Internet** - Enabled by default. Restrict the source IP range if you want to limit SSH access to specific IPs.

![OpenHands GCP networking configuration with the Edit network interface panel showing Network default, Subnetwork default, and External IP set to Ephemeral, above the Allow SSH firewall rule](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-5.png)

### Step 5: Application Settings

Scroll down to the API Access and Application Settings sections and provide:

-   **Allow full access to all of Google Cloud Platform APIs on the VM** - Leave unticked unless your workflow specifically needs it.
-   **Domain name** - The public domain for your OpenHands dashboard (for example `openhands.yourdomain.com`). Point your DNS A record to the instance IP before or shortly after deploying.
-   **Admin email** - The email address used when requesting the Let's Encrypt SSL certificate.

Tick **I accept the solution trial Terms and Conditions**, then click **Deploy** and wait a few minutes for the deployment to complete.

![OpenHands GCP Application Settings form showing the Domain name field set to openhands.example.com, the Admin email field set to openhands@example.com, and the Deploy button](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-6.png)

## Point DNS to Your OpenHands Server

Skip this section if you plan to access the instance by its external IP address instead of a real domain.

### Step 1: Get the External IP

1.  Once deployment is complete, open the VM instance from the deployment details.
2.  Copy the **External IP** from the Network interfaces section.

![GCP VM instance details page showing the Network interfaces table with the primary internal IP and the ephemeral external IP address selected for copying](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-7.png)

### Step 2: Create a DNS A Record

1.  Go to your DNS provider.
2.  Add an **A record** pointing your OpenHands domain (for example `openhands.yourdomain.com`) to the copied external IP.
3.  Wait for DNS propagation before proceeding (typically a few minutes to 1 hour).

DNS must propagate first

OpenHands issues SSL via [Let's Encrypt](https://letsencrypt.org/), which verifies domain ownership over HTTP. Make sure your DNS record is pointing to the server IP and has propagated before the certificate request runs.

## Access OpenHands

Once DNS has propagated and SSL has issued, visit your domain. The first time you open the dashboard, OpenHands prompts you to configure an LLM provider before you can start a conversation.

![OpenHands AI Provider Configuration dialog with fields for LLM Provider set to OpenHands, LLM Model, and API Key, above a Save button](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-9.png)

1.  Choose an **"LLM Provider"** - either the built-in OpenHands hosted option, or a provider you already have an API key for, such as Anthropic or OpenAI.
2.  Select an **"LLM Model"**.
3.  Paste in your **"API Key"**.
4.  Click **"Save"**.

Once a provider is configured, open **"Integrations"** from the dashboard and connect a Git provider, such as GitHub, GitLab, or Bitbucket. OpenHands uses this connection to see your repositories and suggest tasks based on them.

502 Bad Gateway Error?

If you receive a "502 Bad Gateway" error, wait about **5 minutes** and refresh the page. The application may still be initializing on first boot.

If you'd rather point an AI coding agent at a self-hosted model instead of a third-party API key, our [vLLM on GCP developer guide](https://meetrix.io/blogs/vllm-gcp-developer-guide/) covers serving an OpenAI-compatible model yourself, and the [best open source LLMs for self-hosting](https://meetrix.io/blogs/best-open-source-llms-self-hosted-2026/) rundown is a reasonable place to pick one.

## Generate an SSL Certificate Manually

OpenHands will automatically try to issue SSL for the domain name you provided as the **Domain name** field. If it's unsuccessful, for example if DNS hadn't propagated yet, you can generate it manually.

### Step 1: 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.

![GCP VM instance details page with the SSH button and the Logs section for viewing serial console output](https://meetrix.io/blog-images/paas-dev-guides/openhands-gcp/openhands-gcp-8.png)

### Step 2: Generate SSL

Run the following command and follow the prompts:

```bash
sudo bash /root/certificate_generate_standalone.sh
```

This script runs certbot using the domain name and admin email you provided as deployment parameters.

## Manage the Deployment

### Stop 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**. You can [restart it later](https://cloud.google.com/compute/docs/instances/stop-start-instance) with your data intact. If the external IP is ephemeral it may change on restart, so update your DNS A record afterward, or reserve a static IP if you stop and start the VM often.

### Remove OpenHands

To fully remove the deployment and stop all billing:

1.  Go to [Solution deployments](https://console.cloud.google.com/products/solutions/deployments) in the GCP console.
2.  Find your OpenHands deployment.
3.  Click **Delete** to remove all associated resources.

Back up any conversation history or workspace files you need before deleting the deployment.

## Upgrades

When a new image version is available in the GCP Marketplace, back up any data you need, remove the previous deployment, and relaunch with the new version.

## Troubleshoot

### Quota or Capacity Errors

GCP enforces regional CPU quotas. If you hit a quota error when deploying, request a [Compute Engine CPU quota increase](https://cloud.google.com/compute/resource-usage) for that region, or choose a different region or zone with available capacity.

### 502 Bad Gateway

If the dashboard is temporarily inaccessible, wait 5-10 minutes and retry. The application is likely still starting up.

### SSL Did Not Issue

Confirm your DNS record points at the external IP and has propagated, then re-run the certificate script from the "Generate an SSL Certificate Manually" section.

### Disk Space

If OpenHands becomes unresponsive, check whether the boot disk is full:

```bash
df -h
```

If the root volume is between 90-100% full, [resize the persistent disk](https://cloud.google.com/compute/docs/disks/resize-persistent-disk) in the GCP console, then reboot the instance and restart the service.

## Conclusion

The Meetrix OpenHands Deployment Guide helps you get a self-hosted AI software engineering agent running on your own GCP project in minutes. Whether you're automating routine coding tasks, reviewing pull requests, or exploring what an AI agent can do against your own repositories, this guide gives you a secure, working starting point.

## Deploying on AWS Instead?

The same product is available as a CloudFormation stack on AWS Marketplace.

[

### OpenHands on AWS - Developer Guide

Deploy OpenHands, the open-source AI software engineering agent platform, on AWS with our step-by-step CloudFormation guide. Learn how to launch, secure with SSL, configure an LLM provider, and connect your Git repositories.

By Binuka Ranatunga • Meetrix.io

](https://meetrix.io/blogs/openhands-developer-guide/)

## Technical Support

Reach out to Meetrix Support ([support@meetrix.io](mailto:support@meetrix.io)) for assistance with OpenHands issues.

## Frequently Asked Questions

What is OpenHands?

OpenHands (formerly OpenDevin) is an open-source platform for AI software development agents. It can modify code, run shell commands, browse the web, and call APIs on your behalf, acting much like a human developer working through a task described in plain language.

What are the prerequisites for deploying OpenHands on GCP?

You need basic knowledge of Google Cloud Platform, an active Google account with a GCP project and billing enabled, sufficient Compute Engine CPU quota in your target region for the machine type you plan to use, and a domain name you can manage DNS records for if you want automatic SSL.

Which machine type should I choose?

The default General purpose e2-medium is a reasonable starting point. Choose a larger machine type if you plan to run multiple concurrent agent sessions or work on large codebases.

Which LLM providers does OpenHands support?

OpenHands works with the built-in OpenHands hosted provider as well as your own API key for providers such as Anthropic, OpenAI, and other LLM providers. You choose a provider and model, and paste in an API key, the first time you open the dashboard.

How do I connect my GitHub, GitLab, or Bitbucket repositories?

Open the Integrations section of the OpenHands dashboard and connect a Git provider. Once connected, OpenHands can see your repositories and suggest tasks based on them.

Is there a default admin login?

No. OpenHands does not use a separate admin username or password. You access the dashboard directly at the domain you configured, and set up your LLM provider and Git integrations from there.

How do I renew the SSL certificate?

Certificates issued by Let's Encrypt renew automatically. If you generated one manually with the certificate script, you can re-run it at any time: sudo bash /root/certificate\_generate\_standalone.sh

How do I get technical support?

Reach out to Meetrix Support at [support@meetrix.io](mailto:support@meetrix.io) for assistance with OpenHands issues.

## Deploy OpenHands on GCP in Minutes

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

[Get Started on GCP Marketplace](https://console.cloud.google.com/marketplace/vm/config/meetrix-public/openhands-devin-alternative)

Meetrix Store

OpenHands

An AI coding agent for your own repositories

[Deploy it](https://meetrix.io/store/openhands/)

Meetrix Store New

Deploy what this guide covers, pre-configured.

-    [OpenHands An AI coding agent for your own repositories](https://meetrix.io/store/openhands/)
-    [DeepSeek Coder A 33B code model with a 16K context window](https://meetrix.io/store/deepseek-coder/)
-    [vLLM Serve open models on your own GPU](https://meetrix.io/store/vllm/)
-    [Jitsi Meet Self-hosted video calls for 50 to 500 users](https://meetrix.io/store/jitsi-meet/)
-    [RustDesk Remote desktop AMI, a TeamViewer alternative](https://meetrix.io/store/rustdesk/)
-    [Coturn TURN/STUN for WebRTC, no per-minute relay fees](https://meetrix.io/store/coturn/)

[Browse all products](https://meetrix.io/store/)
