Deploy Bytebot — Self-Hosted AI Desktop Agent with Its Own
Self-host Bytebot: an AI agent with its own full Linux desktop. Any LLM.
Bytebot UI
Just deployed
Just deployed
/var/lib/postgresql/data
Bytebot Agent
Just deployed
Bytebot Desktop
Just deployed
Deploy and Host Bytebot on Railway

Bytebot is the open-source AI desktop agent — 11k+ GitHub stars — that gives an AI its own full Linux computer. Unlike browser-only agents, Bytebot runs a complete Ubuntu desktop where it can use any application, download and organize files, log into sites with a password manager, read PDFs and spreadsheets, and complete multi-step workflows across programs. Give it a task in plain English — "download this month's invoices from our vendor portals and organize them" — and it opens the browser, handles 2FA, downloads the files, and files them away.
Apache-2.0 licensed and fully self-hosted. Bring your own key — Claude, GPT, Gemini, or 100+ providers via LiteLLM — and pay only for tokens. This template is maintained on an actively kept-up fork and deploys clean on Railway for ~$10–20/month.
What This Template Deploys
| Service | Purpose |
|---|---|
| Bytebot Desktop | Ubuntu 22.04 + XFCE virtual desktop with Firefox, VS Code, and tools pre-installed — the computer the AI controls, viewable live in the browser |
| Bytebot Agent | NestJS service that interprets tasks and drives the desktop (mouse, keyboard, screen) |
| Bytebot UI | Next.js web app to create tasks, watch the live desktop, and take over manually |
| PostgreSQL | Persistent storage for tasks, history, and desktop state |
All services connect over Railway's private network. The desktop's live view streams to the UI; only the UI needs a public domain. Bytebot is resource-heavy — allocate at least 2 GB RAM (4 GB recommended) so the full desktop environment runs smoothly.
About Hosting Bytebot
A desktop agent needs a real, persistent computer — an Ubuntu environment with a display server, a browser, and apps the AI can install and keep across tasks. Running that by hand means Docker, a virtual display, VNC-style streaming, a database, and secret management. It's one of the more involved self-hosted stacks to wire up.
Railway runs the whole thing — desktop, agent, UI, and PostgreSQL over private networking, HTTPS on the UI, and your AI key injected as a variable. The desktop is persistent: install a password manager, log into the sites you want Bytebot to use, and that setup stays for future tasks.
Maintained fork: the original Bytebot repository was archived by its author in March 2026. This template deploys from an actively maintained fork so deploys keep working and fixes keep landing — you get the tool without the abandonment risk.
Typical cost: ~$10–20/month on Railway for the multi-service desktop stack, plus your AI provider's per-task API fees (usually a few cents per task). No Bytebot licensing or seat fees.
Deploy in Under 5 Minutes
- Click Deploy on Railway — all services build automatically (~4–5 minutes; the desktop image is large)
- Add one AI provider key in Variables —
ANTHROPIC_API_KEY,OPENAI_API_KEY, orGEMINI_API_KEY - Open the UI at your Railway public URL
- Use the Desktop tab to install password managers and log into the sites you want Bytebot to access
- Create a task in plain English and watch Bytebot work in the live desktop view
No coding. No VNC setup. No Docker Compose.
Common Use Cases
- AI desktop agent that uses real applications — not just a browser; Bytebot drives VS Code, email clients, office tools, and the file system like a human operator
- Self-hosted alternative to cloud computer-use agents — keep prompts, credentials, and the whole desktop on your own infrastructure instead of a vendor's cloud
- Invoice and document automation — "download this month's invoices from our vendor portals and organize them" — Bytebot logs in (2FA via password manager), downloads, and files them
- Multi-system data workflows — move data between a CRM, banking portal, and ERP across different apps that have no shared API
- Document processing at the desktop — upload PDFs and spreadsheets directly to Bytebot's desktop; it reads, extracts, cross-references, and produces new documents
- Automated UI testing and research — reproduce bugs, take cross-site screenshots, and run competitive analysis across real websites and applications
Configuration
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY | One provider required | Enables Anthropic Claude (recommended for computer-use tasks) |
OPENAI_API_KEY | Alternative | Enables OpenAI GPT models |
GEMINI_API_KEY | Alternative | Enables Google Gemini models |
DATABASE_URL | ✅ Auto-injected | PostgreSQL connection string via Railway reference variable |
LITELLM_* | Optional | Route through LiteLLM for Azure OpenAI, AWS Bedrock, Ollama, and 100+ providers |
BYTEBOT_DESKTOP_URL | ✅ Auto-wired | Internal URL the agent uses to reach the desktop service |
PORT | Auto-set | Railway injects the UI port automatically |
Bytebot needs at least one AI provider key to do anything. Claude is recommended for computer-use reliability. For local or enterprise models, route through LiteLLM. Protect your public UI — anyone who reaches it can drive the desktop and any accounts you've logged into.
Bytebot vs. Automation Alternatives
| Bytebot (Railway) | Browser-only agents | Traditional RPA | Cloud computer-use | |
|---|---|---|---|---|
| Full desktop, any app | ✅ Ubuntu + apps | ❌ Browser only | ⚠️ Brittle selectors | ✅ Yes |
| Self-hosted / private | ✅ Your instance | ⚠️ Varies | ⚠️ On-prem heavy | ❌ Vendor cloud |
| Bring your own model | ✅ 100+ via LiteLLM | ⚠️ Some | ❌ No | ❌ Fixed |
| Handles UI changes | ✅ Vision-based | ⚠️ Partial | ❌ Breaks on change | ✅ Yes |
| Password manager / 2FA | ✅ Install your own | ⚠️ Limited | ⚠️ Complex | ⚠️ Varies |
| Persistent environment | ✅ Installs stay | ❌ No | ⚠️ Varies | ❌ Ephemeral |
| Open source | ✅ Apache-2.0 | ⚠️ Varies | ❌ Mostly no | ❌ No |
Dependencies for Bytebot Hosting
- Railway account — allocate 2–4 GB RAM for the desktop stack (~$10–20/month typical)
- One AI provider key — Anthropic Claude recommended; or 100+ providers via LiteLLM
- Optional: password manager (1Password, Bitwarden) installed inside the desktop for auth
Deployment Dependencies
- Bytebot (maintained fork) — the source this template deploys
- Bytebot Documentation — task, API, and desktop guides
- Bytebot LiteLLM Integration — 100+ providers
- Railway Volumes Documentation — persistent desktop state
Implementation Details
Bytebot is four integrated components: an Ubuntu 22.04 + XFCE virtual desktop (Firefox, VS Code, tools pre-installed), a NestJS agent that drives it, a Next.js task UI, and PostgreSQL for task and history storage. Only the UI is publicly exposed; the desktop and agent communicate over Railway's private network. The desktop is persistent, so software installs and logged-in sessions survive across tasks and redeploys.
The stack is resource-intensive because it runs a real desktop environment with a display server and streams it live to the UI. Allocate at least 2 GB RAM (4 GB recommended) to avoid slow or failed desktop rendering. This template deploys from a maintained fork of the archived upstream so the deployment path stays working.
Frequently Asked Questions
The original Bytebot repo is archived — is this still maintained?
The upstream bytebot-ai/bytebot repo was archived by its author in March 2026. This template
deploys from an actively maintained fork, so deploys keep working and issues keep getting fixed.
You get the tool — 11k+ stars of proven capability — without the abandonment risk of the
read-only upstream.
What can Bytebot actually do that a browser agent can't? Bytebot has a full desktop, not just a browser. It can use desktop applications (VS Code, email clients, office tools), run command-line scripts, install software, process local files, and authenticate with a password manager including 2FA — things browser-only agents and API integrations can't reach.
How much does it cost to run? Around $10–20/month on Railway for the multi-service desktop stack, plus your AI provider's per-task fees — usually a few cents per task. There are no Bytebot licensing, subscription, or usage fees; it's Apache-2.0 open source.
Which AI provider should I use? Anthropic Claude is recommended for computer-use reliability. OpenAI and Gemini also work, and via LiteLLM you can route to Azure OpenAI, AWS Bedrock, local Ollama, and 100+ providers. You need at least one key for Bytebot to operate.
Is it secure to run? Everything runs on your Railway infrastructure — prompts, credentials, and the desktop never leave your instance. Protect the public UI: anyone who can reach it can control the desktop and any accounts you've logged into. Add authentication in front of it and never expose it with weak credentials.
Do installed programs and logins persist? Yes. The desktop is persistent — software you install and sites you log into stay available for future tasks, and PostgreSQL retains task history across redeploys.
Why Deploy and Host Bytebot on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Bytebot on Railway, you get an AI agent with its own full Linux desktop — using real applications, handling files and logins, and completing multi-step workflows — from a maintained fork that deploys clean, at ~$10–20/month plus your own token usage, with full data ownership and no platform limits.
Template Content
Bytebot UI
bytebot-ai/bytebot-ui:edgeBytebot Agent
bytebot-ai/bytebot-agent:edgeBytebot Desktop
bytebot-ai/bytebot-desktop:edge