[Feature Request] Replace E2B with local Docker sandbox for self-hosted deployments

Offen
#4,965 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
docker, kubernetes, nodejs, python, typescript

Rechercherichtung

The issue names no implementation files or tests; begin with the Function block and self-hosting Kubernetes documentation linked in References, then locate the current E2B execution entry point. Done means self-hosted deployments can execute imported JavaScript and Python in a local isolated sandbox without E2B, with the relevant behavior covered by tests.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

feature

Problem

In self-hosted Kubernetes deployments, the Function block shows:

"JavaScript code with import statements requires E2B to be enabled.
Please remove the import statements, or contact your administrator to enable E2B"

E2B is an external third-party cloud service. Self-hosted users should not
be forced to depend on an external paid service for basic code execution.

Feature Request

Add a local sandbox execution option for self-hosted instances — for example:

  • Spin up an isolated Docker/Kubernetes Job to execute the Function block code
  • Use Node.js child_process with --experimental-vm-modules for JS imports
  • Use a restricted Python container for Python execution

This would allow self-hosted users to use JavaScript imports and Python
in Function blocks without needing an E2B account or external dependency.

Why This Matters

  • Self-hosted users want full data privacy — no code leaving the cluster
  • E2B is a paid external service — adds cost and external dependency
  • Simple use cases (import lodash, import axios) don't need a full microVM

Alternatives Considered

  • E2B self-hosting via Terraform — too complex, requires AWS/GCP infra
  • Using fetch() only — limits what Function blocks can do

References

Vorherrschende Sprache
TypeScript
Sterne
29.8k
Forks
3.9k
Ø Merge
1 Std. 44 Min.
Gemergte PRs (30 T.)
841

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus simstudioai/sim

Alle Issues in simstudioai/sim

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.