Skip to main content

Choose Your Deployment Method

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

☁️ One-click Deploy on Railway

Deploy on Railway
1

Visit the Template

Click the Deploy Now button in the Bytebot template on Railway.
2

Add Anthropic Key

Enter either your ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY for the bytebot-agent resource.
3

Deploy & Launch

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.

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 "[email protected]"

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:
docker info
docker-compose -f docker/docker-compose.yml logs 
Ensure all services are running:
docker-compose -f docker/docker-compose.yml ps 
All services should show as “Up”.
Check your API key is set correctly:
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

Using the UI

Learn how to create and manage tasks effectively

Takeover Mode

Take control when you need to guide Bytebot

LiteLLM Integration

Use any LLM provider with Bytebot

API Integration

Automate Bytebot with your applications

🔧 Configuration Options

Environment Variables

# 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
# Change default ports if needed
# Edit docker-compose.yml ports section:
# bytebot-ui:
#   ports:
#     - "8080:9992"  # Change 8080 to your desired port
# 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 for support and to share what you’re building!