Skip to main content

Choose Your Deployment Method

Bytebot can be deployed in several ways depending on your needs:
  • Railway (Easiest)
  • Docker Compose
  • Kubernetes/Helm
  • Desktop Only

☁️ 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

πŸ”§ 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!
⌘I