Skip to main content
Daytona provides cloud-hosted sandboxes for running Helios tasks without local Docker dependencies. This enables large-scale execution, distributed testing, and CI/CD integration.

Overview

Scalable

Run 10, 50, or 100+ tasks concurrently

No Local Docker

Execute from any machine without Docker installed

Shareable URLs

Share viewer URLs with team members

Isolated

Each task runs in its own cloud sandbox

Setup

1

Get a Daytona API Key

Sign up at daytona.io and generate an API key.
2

Set the environment variable

export DAYTONA_API_KEY=your-api-key
Or add to your .env file:
# .env
DAYTONA_API_KEY=your-api-key
3

Install Daytona support

pip install helios[daytona]
# or
uv pip install helios[daytona]

Usage

Single Task

helios tasks/my-task --provider daytona

With Web Viewer

helios tasks/gui-task --provider daytona --watch
The viewer URL will be a cloud-hosted preview:
Viewer: https://preview.daytona.io/sandbox-abc123/6080?token=xyz789

Batch Execution

helios batch tasks/ -n 20 --provider daytona
Daytona enables much higher concurrency than local Docker:
ProviderTypical Concurrency
Local Docker2-8
Daytona10-100+

Cloud Viewer URLs

When using GUI tasks with Daytona, the web viewer is hosted in the cloud:
helios tasks/explore-desktop --provider daytona --watch
Output:
Task: explore-desktop
Provider: daytona

Provisioning sandbox...
Sandbox ready: sandbox-abc123

Viewer: https://preview.daytona.io/sandbox-abc123/6080?token=xyz789
Shareable URLs: You can share this URL with team members to watch the same execution.

Comparison: Docker vs Daytona

FeatureDockerDaytona
SetupInstall Docker locallyAPI key only
ConcurrencyLimited by local resourcesCloud-scaled
GUI Viewerlocalhost:8080Shareable cloud URL
Best forDevelopment, testingProduction, CI/CD, benchmarks
CostLocal computeDaytona pricing

Configuration

Environment Variables

# Required
export DAYTONA_API_KEY=your-api-key

# Optional: specify region
export DAYTONA_REGION=us-east-1

In .env File

# .env
DAYTONA_API_KEY=your-api-key
DAYTONA_REGION=us-east-1

Use Cases

Large-Scale Benchmarks

Run PDFBench or other benchmarks at scale:
# Run all 100 PDF tasks with 20 concurrent sandboxes
helios batch tasks/pdfbench/ -n 20 --provider daytona -o results/

CI/CD Integration

# .github/workflows/benchmark.yml
name: Run Benchmarks

on:
  schedule:
    - cron: '0 0 * * *'

jobs:
  benchmark:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install Helios
        run: pip install helios[daytona]

      - name: Run Benchmarks
        env:
          DAYTONA_API_KEY: ${{ secrets.DAYTONA_API_KEY }}
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          helios batch tasks/regression/ -n 20 --provider daytona -o results/

      - name: Upload Results
        uses: actions/upload-artifact@v4
        with:
          name: benchmark-results
          path: results/

Team Collaboration

Share live execution URLs with team members:
# Start a task
helios tasks/complex-task --provider daytona --watch

# Share the URL with your team
# → https://preview.daytona.io/sandbox-xyz/6080?token=abc

Programmatic Usage

from helios import AgentRunner
from helios.environment import DaytonaEnvironment

async def run_with_daytona():
    runner = AgentRunner(
        task_path="tasks/my-task",
        model="claude-sonnet-4-20250514",
        environment_provider="daytona"
    )

    result = await runner.run()
    print(f"Result: {result.reward}")

Troubleshooting

Verify your key is correct:
echo $DAYTONA_API_KEY
Check it matches your Daytona dashboard.
Cloud sandboxes take time to provision. If timeouts occur:
  1. Check Daytona status page
  2. Try a different region
  3. Reduce concurrency
The viewer URL includes a token. Ensure you’re using the full URL with the token parameter.
Cloud execution has network latency. For development and debugging, use local Docker. Use Daytona for production and benchmarks.

Best Practices

Local Docker is great for development. Switch to Daytona for:
  • CI/CD pipelines
  • Large benchmarks
  • Team collaboration
Daytona charges for sandbox usage. Monitor your dashboard and set alerts.
Save outputs to avoid re-running expensive tasks:
helios batch tasks/ -n 20 --provider daytona -o results/$(date +%Y%m%d)/

Next Steps