Deploy Roomote on your own infrastructure, complete setup, and run your first task.
Roomote agents work on your repositories in isolated sandboxes and return
results you can review. Start, follow, and steer their work from the web
dashboard, with optional connections to your team’s chat and other tools.This guide takes you from choosing where Roomote runs to completing your first
repository task on infrastructure you control.
Run Roomote on your own hardware or infrastructure you control. You manage
the host, networking, sandboxes, and maintenance, then connect inference
and repositories.
Hosting platforms
Deploy on infrastructure you manage through Railway, Render, or another
hosting provider.
A home server or homelab is a self-hosted deployment. So is a deployment on
infrastructure you manage through a hosting provider, such as Railway or
Render. The self-hosting guide helps you choose a host and prepare it before
installation.You access Roomote from a browser on Windows, macOS, or Linux. Each computer
does not need its own installation.
Once your deployment is ready, follow Run your first task.
The guide walks through:
Creating the administrator account and connecting inference, which gives
Roomote access to a model.
Connecting a repository and checking that a sandbox is ready to run work.
Running a small repository inspection task and reviewing the result.
Have a repository you can authorize Roomote to access. For inference, bring a
supported subscription or provider API key.
Slack and other communications providers are optional. You can complete
your first task entirely in the web dashboard, then connect chat when you
want to use it.
Roomote is released under the Fair Core License 1.0 (FCL-1.0-ALv2) —
source-available, with each release converting to Apache-2.0 two years after it
is published. Self-hosted deployments are free for up to 10 registered users;
more users require a paid license. See License and seats
for license setup and the
LICENSE for its terms.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Roomote Docs","description":"Documentation for Roomote, the open, self-hostable platform for cloud coding agents.","colors":{"primary":"#B0CD26","light":"#D6EE26","dark":"#B0CD26"},"logo":{"light":"https://docs.roomote.dev/logo/light.svg","dark":"https://docs.roomote.dev/logo/dark.svg","href":"https://docs.roomote.dev"},"favicon":"https://mintcdn.com/roocode/jcTIWgKmjs94WhSu/favicon.png?fit=max\u0026auto=format\u0026n=jcTIWgKmjs94WhSu\u0026q=85\u0026s=74880d487bd4434634770b3aadbad452","navbar":{"links":[{"icon":"external-link","href":"https://roomote.dev","label":"Go to roomote.dev"}]},"footer":{"socials":{"github":"https://github.com/RooCodeInc/Roomote"}},"fonts":{"family":"DM Sans"},"icons":{"library":"lucide"},"thumbnails":{"appearance":"light","background":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/data:image/svg+xml,%3Csvg%20xmlns=%22http:/www.w3.org/2000/svg%22%20width=%221200%22%20height=%22630%22%3E%3Crect%20width=%221200%22%20height=%22630%22%20fill=%22%23D6EE26%22/%3E%3C/svg%3E","fonts":{"family":"DM Sans"}},"markdown":{"instructions":["Start new users at /index, then /self-hosting to choose and prepare a host, including home networks at /homelab or infrastructure providers at /self-hosting/platforms. Continue through /first-task. Use Local development only when the user intends to modify Roomote itself.","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.","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.","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.","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.","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.","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."]},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"roocode","hasAudioNarration":false,"actualSubdomain":"roocode","customDomains":["docs.roomote.dev"],"gitSource":{"type":"github","owner":"roocodeinc","repo":"roomote","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae5d571c23d1566bdfb127b","collectionId":"d42e0467-9399-414e-b652-fa0091f723f4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae5d571c23d1566bdfb127b"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae5d571c23d1566bdfb127b","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Configuring Providers","count":45},{"language":"default","tag":"Integrations","count":31},{"language":"default","tag":"Models and inference","count":28},{"language":"default","tag":"Using Roomote","count":11},{"language":"default","tag":"Configuring Roomote","count":7},{"language":"default","tag":"Automating Work","count":7},{"language":"default","tag":"Sandboxes","count":7},{"language":"default","tag":"Getting started","count":5},{"language":"default","tag":"Communications","count":5},{"language":"default","tag":"Source control","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"roomote.css","content":"@font-face{font-family:'Monaspace Neon';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/monaspace-neon-latin-400-normal.woff2) format('woff2')}@font-face{font-family:'Monaspace Neon';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/monaspace-neon-latin-500-normal.woff2) format('woff2')}@font-face{font-family:'Monaspace Neon';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/monaspace-neon-latin-700-normal.woff2) format('woff2')}:root{--roomote-lime:#b0cd26;--roomote-lime-light:#d6ee26;--roomote-code-font:'Monaspace Neon', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;--roomote-radius:0.75rem}.font-mono,[class*=language-],code,kbd,pre,samp{font-family:var(--roomote-code-font)}.rounded-lg,.rounded-xl,img,pre{border-radius:var(--roomote-radius)}.integration-name,.navbar a[href='https://roomote.dev'],nav a[href='https://roomote.dev']{display:inline-flex;align-items:center;gap:.35rem}.navbar a[href='https://roomote.dev'] svg,nav a[href='https://roomote.dev'] svg{order:2}.integration-name{gap:.45rem;width:max-content;max-width:100%;padding:0;border:0!important;background:0 0!important;line-height:1.2;vertical-align:middle;box-shadow:none!important}.integration-logo{display:inline-block;width:1rem;height:1rem;flex:0 0 auto;margin:0!important;vertical-align:middle;border-radius:0}img[src*='/favicon.svg'],img[src*='/logo/integrations/'],img[src^='https://api.iconify.design/simple-icons/'],img[src^='https://api.iconify.design/simple-icons:'],img[src^='https://unpkg.com/@lobehub/icons-static-svg@']{border-radius:0}.integration-name [data-rmiz-content],.integration-name [data-rmiz]{display:inline-flex!important;align-items:center;flex:0 0 auto;margin:0!important}.dark img[src*='/favicon.svg'],.dark img[src*='/logo/integrations/'],.dark img[src^='https://api.iconify.design/simple-icons/'],.dark img[src^='https://api.iconify.design/simple-icons:'],.dark img[src^='https://unpkg.com/@lobehub/icons-static-svg@']{filter:invert(1)}@media (max-width:767px){[role=status][aria-live=polite][class~=z-999]{display:none}}"}],"page":{"pagePath":"index","slug":"/","pageMetadata":{"title":"Getting started","icon":"book-open","description":"Deploy Roomote on your own infrastructure, complete setup, and run your first task.","href":"/index"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Deploy Roomote on your own infrastructure, complete setup, and run your first task.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Roomote agents work on your repositories in isolated sandboxes and return\nresults you can review. Start, follow, and steer their work from the web\ndashboard, with optional connections to your team’s chat and other tools.`}),`\n`,_jsx(_components.p,{children:`This guide takes you from choosing where Roomote runs to completing your first\nrepository task on infrastructure you control.`}),`\n`,_jsx(Heading,{level:`2`,id:`1-choose-where-roomote-runs`,children:`1. Choose where Roomote runs`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Self-host Roomote`,icon:`server`,href:`/self-hosting`,children:_jsx(_components.p,{children:`Run Roomote on your own hardware or infrastructure you control. You manage\nthe host, networking, sandboxes, and maintenance, then connect inference\nand repositories.`})}),_jsx(Card,{title:`Hosting platforms`,icon:`layers`,href:`/self-hosting/platforms`,children:_jsx(_components.p,{children:`Deploy on infrastructure you manage through Railway, Render, or another\nhosting provider.`})})]}),`\n`,_jsxs(_components.p,{children:[`A home server or `,_jsx(_components.strong,{children:`homelab is a self-hosted deployment`}),`. So is a deployment on\ninfrastructure you manage through a hosting provider, such as Railway or\nRender. The self-hosting guide helps you choose a host and prepare it before\ninstallation.`]}),`\n`,_jsx(_components.p,{children:`You access Roomote from a browser on Windows, macOS, or Linux. Each computer\ndoes not need its own installation.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-complete-setup-and-run-your-first-task`,children:`2. Complete setup and run your first task`}),`\n`,_jsxs(_components.p,{children:[`Once your deployment is ready, follow `,_jsx(_components.a,{href:`/first-task`,children:`Run your first task`}),`.\nThe guide walks through:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Creating the administrator account and connecting inference, which gives\nRoomote access to a model.`}),`\n`,_jsx(_components.li,{children:`Connecting a repository and checking that a sandbox is ready to run work.`}),`\n`,_jsx(_components.li,{children:`Running a small repository inspection task and reviewing the result.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Have a repository you can authorize Roomote to access. For inference, bring a\nsupported subscription or provider API key.`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Slack and other communications providers are optional. You can complete\nyour first task entirely in the web dashboard, then connect chat when you\nwant to use it.`})}),`\n`,_jsx(Heading,{level:`2`,id:`license`,children:`License`}),`\n`,_jsxs(_components.p,{children:[`Roomote is released under the Fair Core License 1.0 (FCL-1.0-ALv2) —\nsource-available, with each release converting to Apache-2.0 two years after it\nis published. Self-hosted deployments are free for up to 10 registered users;\nmore users require a paid license. See `,_jsx(_components.a,{href:`/users#license-and-seats`,children:`License and seats`}),`\nfor license setup and the\n`,_jsx(_components.a,{href:`https://github.com/RooCodeInc/Roomote/blob/main/LICENSE`,children:`LICENSE`}),` for its terms.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Getting started","icon":"book-open","description":"Deploy Roomote on your own infrastructure, complete setup, and run your first task.","href":"/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Choose where Roomote runs","slug":"1-choose-where-roomote-runs","depth":2,"children":[]},{"title":"2. Complete setup and run your first task","slug":"2-complete-setup-and-run-your-first-task","depth":2,"children":[]},{"title":"License","slug":"license","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"roocode","siteName":"Roomote Docs","title":"Getting started - Roomote Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T12:20:02.708Z","originalFileLocation":"index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Deploy Roomote on your own infrastructure, complete setup, and run your first task.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Roomote Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Getting started - Roomote Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Deploy Roomote on your own infrastructure, complete setup, and run your first task.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Roomote Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.roomote.dev\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://roocode.mintlify.app/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Getting+started\u0026amp;description=Deploy+Roomote+on+your+own+infrastructure%2C+complete+setup%2C+and+run+your+first+task.\u0026amp;theme=a2d09f9240cd627ca6d77929\u0026amp;signature=62f96ded5814397a068069107f56e53f9beecac791b29c2b9b23b87d7f136670\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Getting started - Roomote Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Deploy Roomote on your own infrastructure, complete setup, and run your first task.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://roocode.mintlify.app/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=Getting+started\u0026amp;description=Deploy+Roomote+on+your+own+infrastructure%2C+complete+setup%2C+and+run+your+first+task.\u0026amp;theme=a2d09f9240cd627ca6d77929\u0026amp;signature=62f96ded5814397a068069107f56e53f9beecac791b29c2b9b23b87d7f136670\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Roomote Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#B0CD26\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.roomote.dev\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/index.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.roomote.dev/#organization\",\"name\":\"Roomote Docs\",\"url\":\"https://docs.roomote.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.roomote.dev/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.roomote.dev#website\",\"name\":\"Roomote Docs\",\"url\":\"https://docs.roomote.dev\",\"publisher\":{\"@id\":\"https://docs.roomote.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.roomote.dev/#webpage\",\"url\":\"https://docs.roomote.dev/\",\"name\":\"Getting started\",\"description\":\"Deploy Roomote on your own infrastructure, complete setup, and run your first task.\",\"dateModified\":\"2026-10-29T12:20:02.708Z\",\"isPartOf\":{\"@id\":\"https://docs.roomote.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.roomote.dev/#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.roomote.dev/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting started\",\"item\":\"https://docs.roomote.dev/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting started\",\"item\":\"https://docs.roomote.dev/\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.roomote.dev/#article\",\"headline\":\"Getting started\",\"name\":\"Getting started\",\"description\":\"Deploy Roomote on your own infrastructure, complete setup, and run your first task.\",\"url\":\"https://docs.roomote.dev/\",\"mainEntityOfPage\":{\"@id\":\"https://docs.roomote.dev/#webpage\"},\"dateModified\":\"2026-10-29T12:20:02.708Z\",\"publisher\":{\"@id\":\"https://docs.roomote.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.roomote.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Roomote Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Roomote Docs","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"Getting started","icon":"book-open","href":""},{"group":"Self-hosted","icon":"server","root":{"title":"Self-hosting","icon":"server","description":"Prepare your own host, install Roomote, and continue to your first task.","href":"/self-hosting"},"expanded":false,"pages":[{"title":"Home network and homelab","icon":"house-plug","href":"/homelab"},{"title":"Hosting platforms","icon":"cloud-cog","href":"/self-hosting/platforms"},{"title":"Operate a self-hosted deployment","icon":"wrench","href":"/self-hosting/operations"}]},{"title":"Run your first task","icon":"play","href":"/first-task"}]},{"group":"Using Roomote","pages":[{"title":"How Roomote works","icon":"workflow","href":"/how-roomote-works"},{"title":"Use cases","icon":"bot-message-square","href":"/use-cases"},{"title":"Review a task","icon":"clipboard-check","href":"/tasks"},{"title":"Live Previews","icon":"app-window","href":"/live-previews"},{"title":"Goal Mode","icon":"target","href":"/goal-mode"},{"title":"Sessions","icon":"messages-square","href":"/fast-sessions"},{"title":"Integration keys","icon":"key-round","href":"/integration-keys"},{"title":"Memory","icon":"book-open-text","href":"/memory"},{"title":"File attachments","icon":"paperclip","href":"/file-attachments"},{"title":"Voice","icon":"audio-lines","href":"/voice"},{"title":"Privacy","icon":"shield-check","href":"/privacy"}]},{"group":"Automating Work","pages":[{"title":"Automations","icon":"zap","href":"/automations"},{"title":"Configure automations","icon":"settings-2","href":"/automation-configuration"},{"title":"Custom automations","icon":"square-pen","href":"/custom-automations"},{"title":"Automation webhooks","icon":"webhook","href":"/automation-webhooks"},{"title":"Automation results","icon":"notepad-text","href":"/automation-results"},{"title":"Cookbook","icon":"cooking-pot","href":"/cookbook/index"},{"title":"Contributing recipes","icon":"plus","href":"/cookbook/template"}]},{"group":"Configuring Providers","pages":[{"group":"Models and inference","icon":"brain","root":{"title":"Inference overview","icon":"brain","href":"/models"},"expanded":false,"pages":[{"title":"Amazon Bedrock","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/bedrock.svg","href":"/providers/inference/amazon-bedrock"},{"title":"Anthropic","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/anthropic.svg","href":"/providers/inference/anthropic"},{"title":"Azure AI Foundry","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/azure.svg","href":"/providers/inference/azure-foundry"},{"title":"Azure OpenAI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/azure.svg","href":"/providers/inference/azure-openai"},{"title":"Baseten","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/baseten.svg","href":"/providers/inference/baseten"},{"title":"ChatGPT subscription","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/openai.svg","href":"/providers/inference/chatgpt"},{"title":"DeepSeek","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/deepseek.svg","href":"/providers/inference/deepseek"},{"title":"GitHub Copilot","icon":"https://api.iconify.design/simple-icons:githubcopilot.svg?color=currentColor","href":"/providers/inference/github-copilot"},{"title":"Google Gemini","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/gemini.svg","href":"/providers/inference/google-gemini"},{"title":"Kimi for Coding","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/kimi.svg","href":"/providers/inference/kimi-for-coding"},{"title":"LiteLLM","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/openai.svg","href":"/providers/inference/litellm"},{"title":"MiniMax","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/minimax.svg","href":"/providers/inference/minimax"},{"title":"Moonshot AI (Kimi)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/moonshot.svg","href":"/providers/inference/moonshot-ai"},{"title":"Ollama","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/ollama.svg","href":"/providers/inference/ollama"},{"title":"OpenAI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/openai.svg","href":"/providers/inference/openai"},{"title":"OpenAI-compatible","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/openai.svg","href":"/providers/inference/openai-compatible"},{"title":"OpenCode Zen","icon":"https://api.iconify.design/simple-icons/opencode.svg?color=currentColor","href":"/providers/inference/opencode"},{"title":"OpenCode Go","icon":"https://api.iconify.design/simple-icons/opencode.svg?color=currentColor","href":"/providers/inference/opencode-go"},{"title":"OpenRouter","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/openrouter.svg","href":"/providers/inference/openrouter"},{"title":"Requesty","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/requesty.png","href":"/providers/inference/requesty"},{"title":"Together AI","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/together.svg","href":"/providers/inference/together-ai"},{"title":"TypeSafe","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/typesafe.svg","href":"/providers/inference/typesafe"},{"title":"Vercel AI Gateway","icon":"https://api.iconify.design/simple-icons/vercel.svg?color=currentColor","href":"/providers/inference/vercel-ai-gateway"},{"title":"vLLM","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/vllm.svg","href":"/providers/inference/vllm"},{"title":"xAI","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/xai.svg","href":"/providers/inference/xai"},{"title":"xAI Grok subscription","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/xai.svg","href":"/providers/inference/xai-subscription"},{"title":"Z.AI","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/zai.svg","href":"/providers/inference/zai"},{"title":"Z.AI Coding Plan","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/zai.svg","href":"/providers/inference/zai-coding-plan"}]},{"group":"Communications","icon":"messages-square","root":{"title":"Communications overview","icon":"messages-square","href":"/communications"},"expanded":false,"pages":[{"title":"Email (AgentMail)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/agentmail.svg","href":"/providers/communications/agentmail"},{"title":"Discord","icon":"https://api.iconify.design/simple-icons:discord.svg?color=currentColor","href":"/providers/communications/discord"},{"title":"Microsoft Teams","icon":"https://api.iconify.design/simple-icons:microsoftteams.svg?color=currentColor","href":"/providers/communications/microsoft-teams"},{"title":"Slack","icon":"https://api.iconify.design/simple-icons:slack.svg?color=currentColor","href":"/providers/communications/slack"},{"title":"Telegram","icon":"https://api.iconify.design/simple-icons:telegram.svg?color=currentColor","href":"/providers/communications/telegram"}]},{"group":"Source control","icon":"git-merge","root":{"title":"Source control overview","icon":"git-merge","href":"/source-control"},"expanded":false,"pages":[{"title":"Azure DevOps","icon":"https://api.iconify.design/simple-icons:azuredevops.svg?color=currentColor","href":"/providers/source-control/azure-devops"},{"title":"Bitbucket Cloud","icon":"https://api.iconify.design/simple-icons:bitbucket.svg?color=currentColor","href":"/providers/source-control/bitbucket"},{"title":"Gitea","icon":"https://api.iconify.design/simple-icons:gitea.svg?color=currentColor","href":"/providers/source-control/gitea"},{"title":"GitHub","icon":"https://api.iconify.design/simple-icons:github.svg?color=currentColor","href":"/providers/source-control/github"},{"title":"GitLab","icon":"https://api.iconify.design/simple-icons:gitlab.svg?color=currentColor","href":"/providers/source-control/gitlab"}]},{"group":"Sandboxes","icon":"cpu","root":{"title":"Sandboxes overview","icon":"cpu","href":"/compute"},"expanded":false,"pages":[{"title":"Azure Container Apps","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/azure.svg","href":"/providers/compute/azure"},{"title":"Blaxel","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/blaxel.svg","href":"/providers/compute/blaxel"},{"title":"Box","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/box.svg","href":"/providers/compute/box"},{"title":"Daytona","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/daytona.svg","href":"/providers/compute/daytona"},{"title":"Docker","icon":"https://api.iconify.design/simple-icons:docker.svg?color=currentColor","href":"/providers/compute/docker"},{"title":"E2B","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/e2b.svg","href":"/providers/compute/e2b"},{"title":"Modal","icon":"https://api.iconify.design/simple-icons:modal.svg?color=currentColor","href":"/providers/compute/modal"}]}]},{"group":"Integrations","pages":[{"title":"Integrations overview","icon":"plug","href":"/integrations/index"},{"title":"Custom MCP servers","icon":"plug-zap","href":"/integrations/custom-mcp-servers"},{"title":"HTTP Integrations","icon":"arrow-right-left","href":"/integrations/http-integrations"},{"title":"Roomote MCP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/favicon.svg","href":"/integrations/roomote-mcp"},{"title":"Asana","icon":"https://api.iconify.design/simple-icons:asana.svg?color=currentColor","href":"/integrations/asana"},{"title":"Better Stack","icon":"https://api.iconify.design/simple-icons:betterstack.svg?color=currentColor","href":"/integrations/better-stack"},{"title":"Buildkite","icon":"https://api.iconify.design/simple-icons:buildkite.svg?color=currentColor","href":"/integrations/buildkite"},{"title":"Braintrust","icon":"https://api.iconify.design/simple-icons:braintrust.svg?color=currentColor","href":"/integrations/braintrust"},{"title":"Cloudflare","icon":"https://api.iconify.design/simple-icons:cloudflare.svg?color=currentColor","href":"/integrations/cloudflare"},{"title":"ElevenLabs","icon":"https://api.iconify.design/simple-icons:elevenlabs.svg?color=currentColor","href":"/integrations/elevenlabs"},{"title":"Exa","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/exa.svg","href":"/integrations/exa"},{"title":"Grafana","icon":"https://api.iconify.design/simple-icons:grafana.svg?color=currentColor","href":"/integrations/grafana"},{"title":"Granola","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/granola.svg","href":"/integrations/granola"},{"title":"Jira","icon":"https://api.iconify.design/simple-icons:jira.svg?color=currentColor","href":"/integrations/jira"},{"title":"Linear","icon":"https://api.iconify.design/simple-icons:linear.svg?color=currentColor","href":"/integrations/linear"},{"title":"monday.com","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/monday.svg","href":"/integrations/monday"},{"title":"Neon","icon":"https://api.iconify.design/simple-icons:neon.svg?color=currentColor","href":"/integrations/neon"},{"title":"Notion","icon":"https://api.iconify.design/simple-icons:notion.svg?color=currentColor","href":"/integrations/notion"},{"title":"PostHog","icon":"https://api.iconify.design/simple-icons:posthog.svg?color=currentColor","href":"/integrations/posthog"},{"title":"Pylon","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/pylon.svg","href":"/integrations/pylon"},{"title":"Railway","icon":"https://api.iconify.design/simple-icons:railway.svg?color=currentColor","href":"/integrations/railway"},{"title":"Resend","icon":"https://api.iconify.design/simple-icons:resend.svg?color=currentColor","href":"/integrations/resend"},{"title":"Rippling","icon":"users","href":"/integrations/rippling"},{"title":"Sentry","icon":"https://api.iconify.design/simple-icons:sentry.svg?color=currentColor","href":"/integrations/sentry"},{"title":"Snowflake","icon":"https://api.iconify.design/simple-icons:snowflake.svg?color=currentColor","href":"/integrations/snowflake"},{"title":"Supabase","icon":"https://api.iconify.design/simple-icons:supabase.svg?color=currentColor","href":"/integrations/supabase"},{"title":"Supermemory","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/supermemory.svg","href":"/integrations/supermemory"},{"title":"Vercel","icon":"https://api.iconify.design/simple-icons:vercel.svg?color=currentColor","href":"/integrations/vercel"},{"title":"Voice","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/voice.svg","href":"/integrations/voice"},{"title":"X","icon":"https://api.iconify.design/simple-icons:x.svg?color=currentColor","href":"/integrations/x"},{"title":"Zero","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/zero.svg","href":"/integrations/zero"}]},{"group":"Configuring Roomote","pages":[{"title":"Agent guidance","icon":"scroll-text","href":"/agent-guidance"},{"title":"Environment variables","icon":"variable","href":"/environment-variables"},{"title":"Environments","icon":"boxes","href":"/environments"},{"title":"Environment definition","icon":"file-code","href":"/environments/definition"},{"title":"Personal settings","icon":"user-cog","href":"/personal-settings"},{"title":"Skills","icon":"sparkles","href":"/skills"},{"title":"Users","icon":"users","href":"/users"}]},{"group":"Analytics","pages":[{"title":"Cost analytics","icon":"circle-dollar-sign","href":"/cost-analytics"}]},{"group":"Development","pages":[{"title":"Local development","icon":"terminal","href":"/local-development"},{"title":"How a Roomote deployment runs","icon":"network","href":"/architecture"}]}]},"basePath":"","title":"Getting started - Roomote Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}