Skip to content

Latest commit

 

History

History
362 lines (294 loc) · 10.5 KB

File metadata and controls

362 lines (294 loc) · 10.5 KB
title Quick Start
description Get your AI desktop agent running in 2 minutes

Choose Your Deployment Method

Bytebot can be deployed in several ways depending on your needs:

## ☁️ One-click Deploy on Railway

Deploy on Railway

Click the Deploy Now button in the Bytebot template on Railway. Enter either your `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `GEMINI_API_KEY` for the bytebot-agent resource. Hit **Deploy**. Railway will build the stack, wire the services together via private networking and output a public URL for the UI. Your agent should be ready within a couple of minutes! Need more details? See the full Railway deployment guide. ## 🐳 Self-host with Docker Compose

Prerequisites

  • Docker ≥ 20.10
  • Docker Compose
  • 4GB+ RAM available
  • AI API key from one of these providers:

🚀 2-Minute Setup

Get your self-hosted AI desktop agent running with just three commands:

```bash git clone https://github.com/bytebot-ai/bytebot.git cd bytebot
# Configure your AI provider (choose one):
echo "ANTHROPIC_API_KEY=your_api_key_here" > docker/.env    # For Claude
# echo "OPENAI_API_KEY=your_api_key_here" > docker/.env     # For OpenAI
# echo "GEMINI_API_KEY=your_api_key_here" > docker/.env     # For Gemini
```
```bash docker-compose -f docker/docker-compose.yml up -d ```

This starts all four services:

  • Bytebot Desktop: Containerized Linux environment
  • AI Agent: LLM-powered task processor (supports Claude, GPT, or Gemini)
  • Chat UI: Web interface for interaction
  • Database: PostgreSQL for persistence
Navigate to [http://localhost:9992](http://localhost:9992) to access the Bytebot UI.

Two ways to interact:

  1. Tasks: Enter task descriptions to have Bytebot work autonomously
  2. Desktop: Direct access to the virtual desktop for manual control

Try asking:

  • "Open Firefox and search for the weather forecast"
  • "Take a screenshot of the desktop"
  • "Create a text file with today's date"
**First time?** The initial startup may take 2-3 minutes as Docker downloads the images. Subsequent starts will be much faster.

🎯 What You Just Deployed

You now have a complete AI desktop automation system with:

**🔐 Password Manager Support**: Bytebot can handle authentication automatically when you install a password manager extension. See our [password management guide](/guides/password-management) for setup instructions. - Understands natural language - Plans and executes tasks - Adapts to errors - Works autonomously - Full Ubuntu environment - Browser, office tools - File system access - Application support - Create and manage tasks - Real-time desktop view - Conversation history - Takeover mode - Programmatic control - Task management API - Direct desktop access - MCP protocol support

🚀 Your First Tasks

Now let's see Bytebot in action! Try these example tasks:

Simple Tasks (Test the Basics)

"Take a screenshot of the desktop" "Open Firefox and go to google.com" "Create a text file called 'hello.txt' with today's date" "Check the system information and tell me the OS version"

Advanced Tasks (See the Power)

"Find the top 5 AI news stories today and create a summary document" "Go to hacker news, find the top 10 stories, and save them to a CSV file" "Upload a PDF contract and extract all payment terms and deadlines" "Search for 'machine learning tutorials', open the first 3 results in tabs, and take screenshots of each"

Accessing Your Services

Service URL Purpose
Tasks UI http://localhost:9992 Main interface for interacting with the agent
Agent API http://localhost:9991/tasks REST API for programmatic task creation
Desktop API http://localhost:9990/computer-use Low-level desktop control API
MCP SSE http://localhost:9990/mcp Connect MCP clients for tool access
## ☸️ Deploy with Helm
See our [Helm deployment guide](/deployment/helm) for Kubernetes installation.
## 🖥️ Desktop Container Only
If you just want the virtual desktop without the AI agent:

```bash
# Using pre-built image (recommended)
docker-compose -f docker/docker-compose.core.yml pull
docker-compose -f docker/docker-compose.core.yml up -d
```

Or build locally:
```bash
docker-compose -f docker/docker-compose.core.yml up -d --build
```

Access the desktop at [http://localhost:9990/vnc](http://localhost:9990/vnc)

Managing Your Agent

View Logs

Monitor what your agent is doing:

# All services
docker-compose -f docker/docker-compose.yml logs -f

# Just the agent
docker-compose -f docker/docker-compose.yml logs -f bytebot-agent

Stop Services

docker-compose -f docker/docker-compose.yml down

Update to Latest

docker-compose -f docker/docker-compose.yml pull
docker-compose -f docker/docker-compose.yml up -d

Reset Everything

Remove all data and start fresh:

docker-compose -f docker/docker-compose.yml down -v

Quick API Examples

Create a Task via API

# Simple task
curl -X POST http://localhost:9991/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Search for flights from NYC to London next month",
    "priority": "MEDIUM"
  }'

# Task with file upload
curl -X POST http://localhost:9991/tasks \
  -F "description=Read this contract and summarize the key terms" \
  -F "priority=HIGH" \
  -F "files=@contract.pdf"

Direct Desktop Control

# Take a screenshot
curl -X POST http://localhost:9990/computer-use \
  -H "Content-Type: application/json" \
  -d '{"action": "screenshot"}'

# Type text
curl -X POST http://localhost:9990/computer-use \
  -H "Content-Type: application/json" \
  -d '{"action": "type_text", "text": "Hello, Bytebot!"}'

Troubleshooting

Check Docker is running and you have enough resources: ```bash docker info docker-compose -f docker/docker-compose.yml logs ``` Ensure all services are running: ```bash docker-compose -f docker/docker-compose.yml ps ``` All services should show as "Up". Check your API key is set correctly: ```bash cat docker/.env docker-compose -f docker/docker-compose.yml logs bytebot-agent ``` Ensure you're using a valid API key from Anthropic, OpenAI, or Google.

📚 Next Steps

Learn how to create and manage tasks effectively Take control when you need to guide Bytebot Use any LLM provider with Bytebot Automate Bytebot with your applications

🔧 Configuration Options

Environment Variables

```bash # Choose one AI provider: ANTHROPIC_API_KEY=sk-ant-... # For Claude models OPENAI_API_KEY=sk-... # For GPT models GEMINI_API_KEY=... # For Gemini models
# Optional: Use specific models
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022  # Default
OPENAI_MODEL=gpt-4o
GEMINI_MODEL=gemini-1.5-flash
```
```bash # Change default ports if needed # Edit docker-compose.yml ports section: # bytebot-ui: # ports: # - "8080:9992" # Change 8080 to your desired port ``` ```bash # To use multiple LLM providers, use the proxy setup: docker-compose -f docker/docker-compose.proxy.yml up -d
# This includes a pre-configured LiteLLM proxy
```
**Need help?** Join our [Discord community](https://discord.com/invite/d9ewZkWPTP) for support and to share what you're building!