Backup-bdg's picture
Upload 964 files
51ff9e5 verified

Daytona Runtime

Daytona is a platform that provides a secure and elastic infrastructure for running AI-generated code. It provides all the necessary features for an AI Agent to interact with a codebase. It provides a Daytona SDK with official Python and TypeScript interfaces for interacting with Daytona, enabling you to programmatically manage development environments and execute code.

Quick Start

Step 1: Retrieve Your Daytona API Key

  1. Visit the Daytona Dashboard.
  2. Click "Create Key".
  3. Enter a name for your key and confirm the creation.
  4. Once the key is generated, copy it.

Step 2: Set Your API Key as an Environment Variable

Run the following command in your terminal, replacing <your-api-key> with the actual key you copied:

Mac/Linux:

export DAYTONA_API_KEY="<your-api-key>"

Windows PowerShell:

$env:DAYTONA_API_KEY="<your-api-key>"

This step ensures that OpenHands can authenticate with the Daytona platform when it runs.

Step 3: Run OpenHands Locally Using Docker

To start the latest version of OpenHands on your machine, execute the following command in your terminal:

Mac/Linux:

bash -i <(curl -sL https://get.daytona.io/openhands)

Windows:

powershell -Command "irm https://get.daytona.io/openhands-windows | iex"

What This Command Does:

  • Downloads the latest OpenHands release script.
  • Runs the script in an interactive Bash session.
  • Automatically pulls and runs the OpenHands container using Docker. Once executed, OpenHands should be running locally and ready for use.

Manual Initialization

Step 1: Set the OPENHANDS_VERSION Environment Variable

Run the following command in your terminal, replacing <openhands-release> with the latest release's version seen in the main README.md file:

Mac/Linux:

export OPENHANDS_VERSION="<openhands-release>"  # e.g. 0.27

Windows PowerShell:

$env:OPENHANDS_VERSION="<openhands-release>"  # e.g. 0.27

Step 2: Retrieve Your Daytona API Key

  1. Visit the Daytona Dashboard.
  2. Click "Create Key".
  3. Enter a name for your key and confirm the creation.
  4. Once the key is generated, copy it.

Step 3: Set Your API Key as an Environment Variable:

Run the following command in your terminal, replacing <your-api-key> with the actual key you copied:

Mac/Linux:

export DAYTONA_API_KEY="<your-api-key>"

Windows PowerShell:

$env:DAYTONA_API_KEY="<your-api-key>"

Step 4: Run the following docker command:

This command pulls and runs the OpenHands container using Docker. Once executed, OpenHands should be running locally and ready for use.

Mac/Linux:

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:${OPENHANDS_VERSION}-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -e RUNTIME=daytona \
    -e DAYTONA_API_KEY=${DAYTONA_API_KEY} \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:${OPENHANDS_VERSION}

Windows:

docker run -it --rm --pull=always `
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:${env:OPENHANDS_VERSION}-nikolaik `
    -e LOG_ALL_EVENTS=true `
    -e RUNTIME=daytona `
    -e DAYTONA_API_KEY=${env:DAYTONA_API_KEY} `
    -v ~/.openhands-state:/.openhands-state `
    -p 3000:3000 `
    --name openhands-app `
    docker.all-hands.dev/all-hands-ai/openhands:${env:OPENHANDS_VERSION}

Tip: If you don't want your sandboxes to default to the EU region, you can set the DAYTONA_TARGET environment variable to us

Running OpenHands Locally Without Docker

Alternatively, if you want to run the OpenHands app on your local machine using make run without Docker, make sure to set the following environment variables first:

Mac/Linux:

export RUNTIME="daytona"
export DAYTONA_API_KEY="<your-api-key>"

Windows PowerShell:

$env:RUNTIME="daytona"
$env:DAYTONA_API_KEY="<your-api-key>"

Documentation

Read more by visiting our documentation page.