Bring Your Own Compute (BYOC)
Bring Your Own Compute enables you to run sandbox workloads on your own infrastructure while using Daytona’s control plane to manage them.
Daytona provides two built-in regions (US and EU) for shared compute resources and handling provisioning, maintenance, monitoring, and scaling on your behalf.
You can define one or more custom regions and attach your own runner nodes. Custom regions can also include a region-specific sandbox proxy service and snapshot manager service.
Custom regions
Section titled “Custom regions”Custom regions are created and managed by your organization, allowing you to use your own runner nodes and infrastructure and scale compute resources independently within each region. This provides maximum control over data locality, compliance, and infrastructure configuration.
Additionally, custom regions have no limits applied for concurrent resource usage, giving you full control over capacity and performance.
Create a custom region
Section titled “Create a custom region”Create a custom region.
- Go to Daytona Regions ↗
- Click Create Region
- Enter the region name, proxy URL, SSH gateway URL, and snapshot manager URL
- Region name: a unique identifier; must contain only letters, numbers, underscores, periods, and hyphens
- Proxy URL (optional): the URL of the proxy service that routes traffic to sandboxes
- SSH gateway URL (optional): the URL of the SSH gateway that handles SSH connections to sandboxes
- Snapshot manager URL (optional): the URL of the snapshot manager that handles storage and retrieval
- Click Create
curl https://app.daytona.io/api/regions \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --data '{ "name": "my-custom-region", "proxyUrl": "https://proxy.example.com", "sshGatewayUrl": "ssh://ssh-gateway.example.com", "snapshotManagerUrl": "https://snapshot-manager.example.com" }'List custom regions
Section titled “List custom regions”List all available regions for your organization.
- Go to Daytona Regions ↗
- The list of regions is displayed in the Regions table with the following columns:
- Name: the name of the region
- ID: the ID of the region
- Created: the date and time the region was created
curl https://app.daytona.io/api/regions \ --header 'Authorization: Bearer YOUR_API_KEY'Get a custom region
Section titled “Get a custom region”Get the details of a specific region.
- Go to Daytona Regions ↗
- Click the region you want to get the details of
- The region details are displayed in the Region Details panel with the following information:
- Name: the name of the region
- ID: the ID of the region
- Created: the date and time the region was created
- URLs: the URLs of the region’s proxy, SSH gateway, and snapshot manager services
curl https://app.daytona.io/api/regions/{regionId} \ --header 'Authorization: Bearer YOUR_API_KEY'Update a custom region
Section titled “Update a custom region”Update the configuration of an existing custom region.
-
Go to Daytona Regions ↗
-
Click the region you want to update the configuration of
-
Click the three dots menu (⋮) next to the region and select the Edit icon
-
Enter the new proxy URL, SSH gateway URL, and snapshot manager URL
- Proxy URL (optional): the new URL of the custom proxy
- SSH gateway URL (optional): the new URL of the custom SSH gateway
- Snapshot manager URL (optional): the new URL of the custom snapshot manager
-
Click Update
curl https://app.daytona.io/api/regions/{regionId} \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --data '{ "proxyUrl": "https://new-proxy.example.com", "sshGatewayUrl": "ssh://new-ssh-gateway.example.com", "snapshotManagerUrl": "https://new-snapshot-manager.example.com" }'Delete a custom region
Section titled “Delete a custom region”Delete a custom region. Regions that have runners assigned to them cannot be deleted.
- Go to Daytona Regions ↗
- Click the region you want to delete
- Click the three dots menu (⋮) next to the region and select Delete
- Confirm the deletion
curl https://app.daytona.io/api/regions/{regionId} \ --request DELETE \ --header 'Authorization: Bearer YOUR_API_KEY'Deployment
Section titled “Deployment”Daytona provides official Helm charts for provisioning and operating custom regions with your own compute infrastructure.
Helm charts
Section titled “Helm charts”Daytona provides Helm charts for deploying region-scoped Daytona services on Kubernetes. The daytona-region chart is focused on custom region infrastructure and deploys the region proxy, optional snapshot manager, and registration job required to operate that region in your cluster.
View the full documentation and examples in the GitHub repository: