Skip to content
Draft
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
8 changes: 5 additions & 3 deletions openhands/usage/agent-canvas/backend-setup/vm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@

## 2. Install Prerequisites

On Ubuntu:
You need **Node.js 22.x** and **uv**. See the [Agent Canvas quickstart](https://github.com/OpenHands/agent-canvas#quickstart) for all install options.

Check warning on line 26 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L26

Did you really mean 'uv'?

On Ubuntu the shortest path is:

```bash
apt-get update && apt-get install -y curl git
sudo apt-get update && sudo apt-get install -y curl

# Node.js 22.x (via nvm, asdf, or NodeSource)
# uv (for the agent server runtime):
Expand Down Expand Up @@ -61,7 +63,7 @@
1. Click the backend switcher → **Manage Backends** → **Add Backend**.
2. Fill in:
- **Name** — e.g. `my-vm`
- **Host / Base URL** — `http://localhost:8000` (if using an SSH tunnel) or the VM's URL if you've set up a reverse proxy

Check warning on line 66 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L66

Did you really mean 'VM's'?
- **API Key** — the `LOCAL_BACKEND_API_KEY` from step 3
3. Save and select it as the active backend.

Expand All @@ -75,9 +77,9 @@

Then use `http://localhost:8000` as the backend URL.

## 5. (Optional) Add a Domain with nginx + TLS

Check warning on line 80 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L80

Did you really mean 'nginx'?

If you want direct HTTPS access without an SSH tunnel, point a domain at the machine and front it with nginx + Let's Encrypt.

Check warning on line 82 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L82

Did you really mean 'nginx'?

### Point a Domain at the Machine

Expand All @@ -91,16 +93,16 @@

Update your network firewall to additionally allow:

- **Port 80 (HTTP)** — open to `0.0.0.0/0` (required for Let's Encrypt HTTP-01 challenges). nginx redirects all HTTP to HTTPS.

Check warning on line 96 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L96

Did you really mean 'nginx'?
- **Port 443 (HTTPS)** — restrict to your IP if possible. If you need it world-open, `LOCAL_BACKEND_API_KEY` is your primary defense.

### Install nginx and Certbot

Check warning on line 99 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L99

Did you really mean 'nginx'?

Check warning on line 99 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L99

Did you really mean 'Certbot'?

```bash
apt-get install -y nginx certbot python3-certbot-nginx
sudo apt-get install -y nginx certbot python3-certbot-nginx
```

### Configure nginx

Check warning on line 105 in openhands/usage/agent-canvas/backend-setup/vm.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

openhands/usage/agent-canvas/backend-setup/vm.mdx#L105

Did you really mean 'nginx'?

Save this at `/etc/nginx/sites-available/canvas.example.com`, replacing the domain:

Expand Down
Loading