Environment Providers
| Provider | Description | Use Case |
|---|---|---|
docker | Local Docker containers | Development, testing, small batches |
daytona | Cloud sandboxes | Large-scale execution, CI/CD |
Daytona Setup
Configure Daytona for cloud execution
Execution Modes
Headless Mode
For CLI/terminal tasks without a graphical interface:- Faster startup
- Lower resource usage
- Only
bashandeditortools available - No screenshots of desktop
- File operations
- Script execution
- Package installation
- API interactions
GUI Mode
For tasks requiring a graphical desktop:- Full desktop environment (Xfce)
- VNC for remote viewing
- All tools available including
computer - Screenshots show the desktop
- Browser automation
- Desktop application control
- Form filling
- Visual verification
Pre-built Images
ubuntu:22.04
Standard Ubuntu image for headless tasks.cua-desktop
Full desktop environment with VNC. Build once:- Xfce desktop
- Firefox browser
- File manager
- Terminal
- Common utilities
pdfbench-base
Specialized image for PDF form-filling tasks. Build once:- Chromium browser
- PDF viewing tools
- Python with PDF libraries
Custom Dockerfiles
Create a custom environment for tasks requiring specific software.Structure
Configuration
Leavedocker_image empty to use the custom Dockerfile:
Example: Python Environment
Example: Node.js Environment
Example: Extended Desktop
Example: Database Environment
Resource Configuration
Control container resources intask.toml:
| Setting | Default | Description |
|---|---|---|
cpus | 1 | CPU cores allocated |
memory_mb | 2048 | Memory in megabytes |
storage_mb | 10240 | Disk space in megabytes |
build_timeout_sec | 600 | Docker build timeout |
Resource Guidelines
| Task Type | CPUs | Memory | Storage |
|---|---|---|---|
| Simple file operations | 1 | 2048 | 10240 |
| Python/Node scripts | 1 | 2048 | 10240 |
| GUI desktop | 2 | 4096 | 10240 |
| Heavy compilation | 2-4 | 4096-8192 | 20480 |
| Browser automation | 2 | 4096 | 10240 |
Setup Commands
Run commands before the agent starts:- Install packages
- Download files
- Configure services
- Set environment variables
Setup commands run once when the container starts, before the agent begins execution.
Network Configuration
By default, containers have:- Full internet access
- No port forwarding to host
- Container-local ports (e.g., localhost:8000)
--watch.
Best Practices
Use minimal base images
Use minimal base images
Smaller images start faster. Use
-slim variants when possible:python:3.12-sliminstead ofpython:3.12node:20-sliminstead ofnode:20
Cache custom builds
Cache custom builds
Custom Dockerfiles are rebuilt for each task run. Keep them simple or pre-build images:
Use setup_commands for light customization
Use setup_commands for light customization
For simple package installs, use
setup_commands instead of custom Dockerfiles:Increase build timeout for complex builds
Increase build timeout for complex builds
If your Dockerfile takes a long time:
Troubleshooting
Docker image not found
Docker image not found
Pull the image first or check the image name:
Build fails
Build fails
Check Dockerfile syntax and ensure base images exist:
Out of disk space
Out of disk space
Increase
storage_mb or clean Docker:Container starts but task fails
Container starts but task fails
Check that required software is installed via setup_commands or Dockerfile.