#2088·refly

[Question] Sandbox deployment fails with "AggregateError: All promises were rejected" - Scalebox template and setup inquiry

Author: lixingjia77Created Jan 19, 2026Updated Apr 3, 2026

Hi team,

I'm trying to deploy Refly using Docker Compose, but I'm encountering issues with the sandbox service when executing code.

Problem Description

When I try to use the code execution feature, the sandbox service returns an error:

AggregateError: All promises were rejected

What I've tried: Deployment setup: Successfully started all containers using docker compose up -d

Scalebox API key configuration: Added PROVIDERS_SCALEBOX_API_KEY=sk-xxx to the .env file and restarted the refly-sandbox container

Error persists: After restarting, I still see the following errors in the logs:

{"level":"warn","error":{"name":"ScaleboxError"},"msg":"Race failed"} {"level":"warn","error":{"name":"AuthenticationError"},"msg":"Race failed"} {"level":"error","msg":"AggregateError: All promises were rejected"} The logs show:

Scalebox pool fails with ScaleboxError E2B pool fails with AuthenticationError (expected, as I don't have an E2B key) The system is using "race mode" and both providers fail

Questions

1. Missing Configuration

Did I miss any required configuration steps? Are there any other environment variables or settings needed besides the API key?

2. Scalebox Template Availability

The docker-compose configuration uses slim-v2 as the default template name:

  • PROVIDERS_SCALEBOX_TEMPLATE_NAME=${PROVIDERS_SCALEBOX_TEMPLATE_NAME:-slim-v2}

Questions:

Is the slim-v2 template publicly available on Scalebox? Is the sandbox environment open-source? Where can I find the template configuration or how do I create my own?

3. File Synchronization Approach

I'm curious about how file synchronization works between the sandbox and the storage (S3/MinIO):

Does the implementation use:

  • Mount S3/MinIO directly as a filesystem (e.g., via s3fs/geesefs)?
  • or, Sync files to/from a working directory using s3Config + s3DrivePath, then upload only the diff/changed files after execution? This information would help me understand the architecture better and potentially debug the issue.

Logs

Full sandbox logs

{"level":"info","context":"ScaleboxPool","apiKeySet":true,"msg":"ScaleboxPool initialized - verify template name"} {"level":"info","context":"ProviderService","msg":"Use race mode"} {"level":"info","context":"ScaleboxPool","templateName":"slim-v2","msg":"Creating new sandbox"} {"level":"warn","context":"ProviderService","error":{"name":"ScaleboxError"},"msg":"Race failed"} {"level":"error","context":"SubscriberService","error":"AggregateError: All promises were rejected","msg":"Request failed"}

Any guidance or documentation links would be greatly appreciated. Thank you!