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

Aberta
#4,965 2 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
docker, kubernetes, nodejs, python, typescript

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
TypeScript
Estrelas
29.8k
Forks
3.9k
Merge médio
1h 44min
PRs com merge (30d)
841

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de simstudioai/sim

Todas as issues de simstudioai/sim

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.