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 -->
E2B CLI
This CLI tool allows you to build manager your running E2B sandbox and sandbox templates. Learn more in our documentation.
1. Install the CLI
Using Homebrew (on macOS)
brew install e2b
Using NPM
npm install -g @e2b/cli
2. Authenticate
e2b auth login
Note
To authenticate without the ability to open the browser, provide
E2B_ACCESS_TOKENas an environment variable. You can find your token in Account Settings under the Team selector at e2b.dev/dashboard. Then use the CLI like this:E2B_ACCESS_TOKEN=sk_e2b_... e2b template build.
Important
Note the distinction between
E2B_ACCESS_TOKENandE2B_API_KEY.
3. Check out docs
Visit our CLI documentation to learn more.
