8be34f8344
Fixes issue https://github.com/e2b-dev/E2B/issues/1032 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Preserve Dockerfile USER/WORKDIR when provided and only apply E2B defaults if absent, with tests and CLI fixtures updated accordingly. > > - **Dockerfile parsing (SDKs)**: > - **JS (`packages/js-sdk/src/template/dockerfileParser.ts`)**: Track `USER`/`WORKDIR` usage and only set E2B defaults (`user`, `/home/user`) if not specified; keep Docker defaults (`root`, `/`) initially. > - **Python (`packages/python-sdk/e2b/template/dockerfile_parser.py`)**: Same behavior—preserve explicit `USER`/`WORKDIR`, fallback to defaults only when absent. > - **Tests**: > - **JS**: Add tests for default vs. custom `USER`/`WORKDIR` in `fromMethods.test.ts`. > - **Python (async/sync)**: Add analogous tests in `test_from_methods.py`. > - **CLI template fixtures**: > - Update expected outputs to remove redundant `.set_user('user')`/`.set_workdir('/home/user')` when already specified; minor ordering tweak for `.setStartCmd` in TS fixture. > - **Changeset**: > - Minor version bumps for `@e2b/python-sdk` and `e2b`; note: keep Docker `WORKDIR` and `USER` if specified. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 1ce66362501932308292cef87b5d8a73012ee5f2. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
What is E2B?
E2B is an open-source infrastructure that allows you to run AI-generated code in secure isolated sandboxes in the cloud. To start and control sandboxes, use our JavaScript SDK or Python SDK.
Run your first Sandbox
1. Install SDK
npm i @e2b/code-interpreter
2. Get your E2B API key
E2B_API_KEY=e2b_***
3. Execute code with code interpreter inside Sandbox
import { Sandbox } from '@e2b/code-interpreter'
const sbx = await Sandbox.create()
await sbx.runCode('x = 1')
const execution = await sbx.runCode('x+=1; x')
console.log(execution.text) // outputs 2
4. Check docs
Visit E2B documentation.
5. E2B cookbook
Visit our Cookbook to get inspired by examples with different LLMs and AI frameworks.
