Skip to content

Commit 80d01c8

Browse files
authored
[Docs] Guide Cloud and self-hosted users through their first task (#3382)
1 parent c78cd01 commit 80d01c8

11 files changed

Lines changed: 1016 additions & 649 deletions

File tree

‎apps/docs/cloud.mdx‎

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Roomote Cloud
3+
icon: cloud
4+
description: Create a hosted Roomote deployment, connect your tools, and complete your first task.
5+
---
6+
7+
Roomote Cloud runs an isolated Roomote deployment for you. Roomote manages
8+
hosting, networking, task sandboxes, and upgrades. You use the web dashboard to
9+
choose models, connect your repositories, and start work.
10+
11+
By the end of this guide and [Run your first task](/first-task), you will
12+
have a working deployment and a completed task whose result you can review.
13+
14+
## Before you start
15+
16+
For your first repository task, have:
17+
18+
- a repository and an account with permission to authorize Roomote's access
19+
- an inference option: managed Roomote inference when offered during setup,
20+
or a supported subscription or inference provider API key
21+
- any credentials or setup instructions your repository needs to build and
22+
run, if they are not already documented in the repository
23+
24+
You can use a browser on Windows, macOS, or Linux. Cloud provides the server
25+
and sandbox infrastructure, so there is no local installation or domain setup
26+
to complete.
27+
28+
<Tip>
29+
Start in the web dashboard. Slack and other communications providers are
30+
optional and can be connected after your first task.
31+
</Tip>
32+
33+
## 1. Create your Cloud deployment
34+
35+
[Sign up for Roomote Cloud](https://cloud.roomote.dev/sign-up), or
36+
[sign in to the Cloud portal](https://cloud.roomote.dev/) if you already have
37+
an account. Follow the portal's deployment setup, then open your Roomote
38+
deployment when it is ready.
39+
40+
The Cloud portal manages hosting. Your Roomote deployment is where you
41+
complete product setup, configure providers, and run tasks. Keep its URL so
42+
you can return directly to the dashboard.
43+
44+
## 2. Complete setup and run a task
45+
46+
Continue with [Run your first task](/first-task). Start at the account setup
47+
step, or continue from your current step if it is already complete.
48+
49+
The guide helps you create the administrator account, choose inference,
50+
connect a repository, and run a small task. For Cloud:
51+
52+
- **Inference:** choose the Roomote provider when offered, or connect your own
53+
provider. Managed inference has a credit limit; see
54+
[Managed Roomote inference](/models#managed-roomote-inference) for how it
55+
works and how to add your own provider.
56+
- **Sandboxes:** keep the sandbox provider provisioned for your Cloud
57+
deployment. You do not need to create a separate sandbox provider account
58+
to run your first task.
59+
- **Repository access:** authorize the repositories you want Roomote to work
60+
on. Cloud hosting does not grant Roomote access to them automatically.
61+
62+
You have completed the getting-started path when Roomote can access your
63+
repository, run work in a sandbox, and return a result you can inspect in the
64+
dashboard. The first-task guide includes those checks and help for each step.
65+
66+
## After your first task
67+
68+
Connect [Slack or another communications provider](/communications) to start
69+
and follow work from chat, or [invite your team](/users#create-invites) to use
70+
the dashboard. Add an [environment](/environments) when you want reusable
71+
repository setup, secrets, and instructions for future tasks.

‎apps/docs/docs.json‎

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
"description": "Documentation for Roomote, the open, self-hostable platform for cloud coding agents.",
66
"markdown": {
77
"instructions": [
8-
"When helping someone deploy Roomote, distinguish self-hosting from contributing to Roomote. Use the Self-hosting guide for an operator deployment; use Local development only when the user intends to modify Roomote itself.",
8+
"Start new users at /index to choose Roomote Cloud or self-hosting. Use /cloud for managed hosting and /self-hosting for an operator deployment, including home networks at /homelab. Both paths continue through /first-task. Use Local development only when the user intends to modify Roomote itself.",
99
"When an agent is asked to follow /self-hosting or install Roomote autonomously, read and follow /self-hosting/agent-installation as the normative automation contract even though it is intentionally hidden from side navigation.",
1010
"Use the one-command Linux installer for both evaluation and production. On macOS or Windows, create or reuse a full Ubuntu VM and run the same installer inside it; do not replace the installer with the repository's development Compose files.",
11-
"For a local VM without a stable public domain, create a temporary HTTPS tunnel, pass its hostname to the installer with internal origin TLS, and keep the tunnel running for OAuth callbacks and webhooks. Quick Tunnel hostnames are temporary and do not provide wildcard preview routing.",
11+
"For a local VM, prepare a stable public HTTPS domain before connecting providers. Use a named tunnel with internal origin TLS or public DNS with ports 80/443 forwarded to the Linux host. Cloudflare Quick Tunnels do not support the Server-Sent Events Roomote uses; do not use them for the complete setup path.",
1212
"Run automated installs with --no-setup-url so the bootstrap token is not captured in the agent transcript. Let the user obtain the setup URL in a trusted terminal, enter credentials, and complete browser authorization.",
1313
"Proceed through safe, reversible setup and pause for privileged host or VM changes, public tunnel creation, credentials or browser authorization, durable external-account changes, destructive operations, existing-state conflicts, or when no documented safe default applies.",
14-
"A setup is not complete when the services merely start. Verify sign-in, repository sync, one usable environment, and a real Roomote task that can clone and run a command; verify branch or pull-request delivery and previews when configured."
14+
"A setup is not complete when the services merely start. Follow /first-task to verify sign-in, repository sync, and a real Roomote task that can clone and run a command. A saved environment is optional for a repository task. Verify branch or pull-request delivery and previews when configured; Slack and other communications providers are optional."
1515
]
1616
},
1717
"colors": {
@@ -42,7 +42,22 @@
4242
"groups": [
4343
{
4444
"group": "Getting started",
45-
"pages": ["index", "self-hosting", "homelab"]
45+
"pages": [
46+
"index",
47+
"cloud",
48+
{
49+
"group": "Self-hosted",
50+
"icon": "server",
51+
"root": "self-hosting",
52+
"expanded": false,
53+
"pages": [
54+
"homelab",
55+
"self-hosting/platforms",
56+
"self-hosting/operations"
57+
]
58+
},
59+
"first-task"
60+
]
4661
},
4762
{
4863
"group": "Using Roomote",
@@ -77,10 +92,10 @@
7792
"pages": [
7893
{
7994
"group": "Models and inference",
95+
"icon": "brain",
8096
"root": "models",
8197
"expanded": false,
8298
"pages": [
83-
"models",
8499
"providers/inference/amazon-bedrock",
85100
"providers/inference/anthropic",
86101
"providers/inference/azure-foundry",
@@ -113,10 +128,10 @@
113128
},
114129
{
115130
"group": "Communications",
131+
"icon": "messages-square",
116132
"root": "communications",
117133
"expanded": false,
118134
"pages": [
119-
"communications",
120135
"providers/communications/agentmail",
121136
"providers/communications/discord",
122137
"providers/communications/microsoft-teams",
@@ -126,10 +141,10 @@
126141
},
127142
{
128143
"group": "Source control",
144+
"icon": "git-merge",
129145
"root": "source-control",
130146
"expanded": false,
131147
"pages": [
132-
"source-control",
133148
"providers/source-control/azure-devops",
134149
"providers/source-control/bitbucket",
135150
"providers/source-control/gitea",
@@ -139,10 +154,10 @@
139154
},
140155
{
141156
"group": "Sandboxes",
157+
"icon": "cpu",
142158
"root": "compute",
143159
"expanded": false,
144160
"pages": [
145-
"compute",
146161
"providers/compute/azure",
147162
"providers/compute/blaxel",
148163
"providers/compute/box",

‎apps/docs/environments.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ per-environment `env` map is stored in plaintext, so use deployment
245245
environment variables under **Settings > Environments > Deployment Environment
246246
Variables** for secret values.
247247

248-
See the [self-hosting guide](/self-hosting) for the compose mount pattern and
249-
operational details.
248+
See the [declarative environments reference](https://github.com/RooCodeInc/Roomote/blob/main/SELF_HOSTING.md#declarative-environments)
249+
for the Compose mount pattern and operational details.
250250

251251
## Make verification possible
252252

‎apps/docs/first-task.mdx‎

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
---
2+
title: Run your first task
3+
icon: play
4+
description: Connect a model and repository, run a small task, and review the result in your browser.
5+
---
6+
7+
Follow this guide after you can open your Roomote deployment. The steps are
8+
the same for Roomote Cloud and self-hosted deployments, with hosting
9+
differences called out below. By the end, you will have a Roomote task that
10+
reads a repository, runs commands in a sandbox, and reports what it found.
11+
12+
## Before you start
13+
14+
Have these ready:
15+
16+
- the deployment's initial setup link, or an administrator account if setup
17+
has already started
18+
- an inference provider account with usable credentials and available credit
19+
or quota, unless you choose the Roomote inference offered during Cloud setup
20+
- permission to connect one repository for the first task
21+
22+
An inference provider supplies the model. A sandbox provider supplies the
23+
isolated workspace where the agent edits files and runs commands. Both are
24+
needed for the task in this guide. Cloud provisions a sandbox provider;
25+
for a self-hosted deployment, the installer can configure Docker on your host.
26+
27+
<Note>
28+
You can start a conversation after connecting inference alone. Repository
29+
access and a sandbox are needed for this repository task. Slack, other
30+
communications providers, integrations, and automations are optional: you
31+
can complete the whole guide in your browser.
32+
</Note>
33+
34+
## 1. Open your deployment and create your account
35+
36+
Open the deployment link from the Cloud portal or your self-hosted installer.
37+
Follow the account setup prompts. If you have already created the account,
38+
sign in and continue from your current setup step.
39+
40+
For a self-hosted deployment, **Use email/password** is the simplest account
41+
option. You can choose Slack or Teams sign-in if you already intend to use
42+
one of them. Use the setup token from the installer if Roomote requests it.
43+
44+
**Check:** You can sign in to the Roomote dashboard and reach inference setup.
45+
46+
## 2. Connect inference
47+
48+
If you see **Configure inference**, choose **Use the Roomote provider** when
49+
offered, or **Configure my own provider**. Otherwise, setup opens directly
50+
at **Choose your LLM provider**. Select the service you use and follow its
51+
connection instructions. For example, [OpenRouter](/providers/inference/openrouter) and
52+
[Anthropic](/providers/inference/anthropic) use API keys; other providers may
53+
use an account sign-in or a model endpoint.
54+
55+
Enter credentials in the configuration form. Keep API keys and other secrets
56+
out of the conversation.
57+
58+
Roomote adds recommended models for supported providers. Start with those
59+
defaults; you can change models later in **Settings > Models**. If Roomote
60+
reports that the account has no credit or quota, resolve that with the
61+
provider before starting work.
62+
63+
**Check:** Roomote opens a setup conversation and sends an introductory
64+
message. This conversation is saved, so you can return to it to continue
65+
setup.
66+
67+
## 3. Connect one repository
68+
69+
In the setup conversation, choose your source-control provider and open its
70+
configuration dialog. Follow the provider's authorization steps and grant
71+
access to your chosen repository. Start with one small, existing repository
72+
so you can easily inspect the first result.
73+
74+
For [GitHub](/providers/source-control/github), **Create GitHub App** prepares
75+
the app configuration for you. Complete the GitHub flow and install the app
76+
on the account or organization that owns the repository. Other providers
77+
have their own guides, including [GitLab](/providers/source-control/gitlab)
78+
and [Gitea](/providers/source-control/gitea).
79+
80+
**Check:** Return to the setup conversation and wait for Roomote to confirm
81+
that your repositories are available. If the repository is missing, check
82+
the provider connection and the app's repository permissions before
83+
continuing.
84+
85+
## 4. Choose a small first task
86+
87+
Roomote next offers integrations with other tools. Select **Keep going** to
88+
continue without connecting any for this guide.
89+
90+
When Roomote offers starter tasks, choose **I'll type it myself** to skip
91+
the suggested tasks. Those tasks can make changes and open pull
92+
requests; the example below gives you a smaller first result to inspect.
93+
Automation recommendations are optional and can wait until your first task
94+
works.
95+
96+
Enter this request in the message box in the same conversation, replacing
97+
`owner/repository` with the repository you connected:
98+
99+
```text
100+
Run a task in a sandbox for owner/repository. Inspect the repository and
101+
summarize its top-level folders and the dependency-install and test commands
102+
already documented or defined in the project. Cite the files you used. If a
103+
command is missing, say so instead of inventing one.
104+
105+
Run git rev-parse --show-toplevel and git status --short in the repository
106+
and include the results so I can confirm the workspace is working. Keep
107+
this task read-only: do not edit files, commit, push, or open a pull request.
108+
```
109+
110+
You do not need to create an environment for this first task. Roomote can
111+
resolve the connected repository from your request. An
112+
[environment](/environments) is useful when you want to save repeatable setup
113+
commands, services, tool versions, or preview ports for later work.
114+
115+
## 5. Confirm where the task will run
116+
117+
If a sandbox provider is already configured, Roomote can start the task
118+
without another setup step. Keep the provider provisioned for your Cloud
119+
deployment or configured by your self-hosted installer.
120+
121+
If Roomote asks for a sandbox, use its configuration controls to select and
122+
configure a provider:
123+
124+
- for a single-host self-hosted deployment, [Docker](/providers/compute/docker)
125+
runs tasks on your server and needs no separate provider API key
126+
- for a hosted sandbox, follow the chosen provider's credential and setup
127+
instructions; see [Sandboxes](/compute) for the options
128+
129+
You can also inspect or configure the default provider in **Settings >
130+
Sandboxes**. Return to the conversation after saving and continue your
131+
request if it has not started.
132+
133+
For Docker, use **Validate environment** under **Settings > Sandboxes >
134+
Local Docker** to check the daemon, worker image, and release archive.
135+
Docker must also support writable-layer disk limits; the first task checks
136+
that when its container starts. If it reports an unsupported disk limit,
137+
follow the [Docker storage guidance](/providers/compute/docker#resource-and-network-isolation)
138+
or choose a hosted sandbox provider.
139+
140+
**Check:** A task appears in the conversation and begins preparing its
141+
workspace. Open the task to follow progress. The first run may take longer
142+
while images and repository dependencies are prepared.
143+
144+
## 6. Review the result
145+
146+
When the task finishes, open its workspace and check:
147+
148+
1. The overview matches the repository, and the commands point back to real
149+
project files.
150+
2. The command output identifies the repository's sandbox checkout. An empty
151+
`git status --short` result means the working tree is clean.
152+
3. The task left the repository unchanged, as requested.
153+
154+
Expand command entries in the task transcript to inspect their output. If
155+
environment setup failed, open **Logs** and select the relevant
156+
`Setup: <command>` entry. See [Review a task](/tasks) for the other review
157+
tools.
158+
159+
You now have a working path from your browser through inference, repository
160+
access, and sandbox execution to a result you can inspect. Continue in the
161+
same conversation with a small code change, ask Roomote to run the relevant
162+
checks, and review its diff before requesting a pull request. Future work can
163+
start from **New Session**; select a repository or environment when you
164+
already know where it should run.
165+
166+
## If your first task gets stuck
167+
168+
| What you see | What to check |
169+
| --- | --- |
170+
| The conversation fails before answering | Check the saved provider in **Settings > Models**, its credentials, and available credit or quota. |
171+
| Roomote cannot find or clone the repository | Check source-control authorization and repository permissions. On a self-hosted deployment, also check that the configured application URL is reachable for provider callbacks. |
172+
| The task cannot start its sandbox | Check **Settings > Sandboxes**. For Docker, inspect host capacity and the error in the task logs. For a hosted provider, check its credentials and connectivity to your deployment. |
173+
| A setup command or project check fails | Open the task logs. Add missing tools, services, or setup guidance through an [environment](/environments), then retry with that environment. |
174+
175+
If a task failed to start, **Try in a new task** opens an editable request
176+
with its original prompt and context. Correct the problem before launching
177+
it again.
178+
179+
## Continue setup later
180+
181+
The setup conversation stays available when you leave the page. Its
182+
configuration cards also leave the message composer available, so you can
183+
keep talking while deciding what to connect. **Not now** skips an initial
184+
offer; Roomote can offer that capability again when later work needs it.
185+
186+
Only deployment administrators can configure providers through these
187+
controls. Other members should ask an administrator to connect anything
188+
their task needs. If you chose a suggested starter task and its launch
189+
failed, ask Roomote to retry that item after fixing the problem; you do not
190+
need to repeat setup.
191+
192+
## Add more when you need it
193+
194+
- [Create an environment](/environments) to make your project's setup reusable.
195+
- [Connect Slack](/providers/communications/slack) or another communications
196+
provider if you want to start and follow work outside the dashboard.
197+
- [Connect integrations](/integrations/index) when a task needs context from
198+
your other tools.
199+
- [Set up automations](/automations) after you have verified the work you want
200+
Roomote to repeat.

0 commit comments

Comments
 (0)