diff --git a/docs.json b/docs.json index 55ab8d0f..813e8cec 100644 --- a/docs.json +++ b/docs.json @@ -235,6 +235,15 @@ "docs/troubleshooting/templates/49999-port-not-open", "docs/troubleshooting/pip-install-error" ] + }, + { + "group": "FAQ", + "pages": [ + "docs/faq/paused-sandboxes-concurrency", + "docs/faq/template-limit", + "docs/faq/public-templates", + "docs/faq/iptables-xt-owner" + ] } ] }, diff --git a/docs/faq/iptables-xt-owner.mdx b/docs/faq/iptables-xt-owner.mdx new file mode 100644 index 00000000..518616aa --- /dev/null +++ b/docs/faq/iptables-xt-owner.mdx @@ -0,0 +1,16 @@ +--- +title: "Why does iptables fail with 'xt_owner module missing' in a sandbox?" +sidebarTitle: iptables xt_owner module +--- + +The `xt_owner` kernel module is not currently available in E2B's sandbox kernel. As a result, iptables rules that depend on it — most commonly `NAT REDIRECT` with `--uid-owner` or `--gid-owner` (used in transparent proxy setups) — will fail with: + +``` +Warning: Extension owner revision 0 not supported, missing kernel module? +``` + +The command exits with code 4, which aborts any script running under `set -e`. + +## Workaround: use nftables + +[nftables](https://wiki.nftables.org/wiki-nftables/index.php/Main_Page) is the modern replacement for iptables and does not depend on the `xt_owner` module for owner-based matching. If you're setting up a transparent proxy or any rule that matches on user/group ownership, use nftables instead. diff --git a/docs/faq/paused-sandboxes-concurrency.mdx b/docs/faq/paused-sandboxes-concurrency.mdx new file mode 100644 index 00000000..1271c039 --- /dev/null +++ b/docs/faq/paused-sandboxes-concurrency.mdx @@ -0,0 +1,12 @@ +--- +title: "Do paused sandboxes count toward the concurrency limit?" +sidebarTitle: Paused sandboxes & concurrency +--- + +No. Only running sandboxes count toward your concurrency limit. Paused sandboxes are excluded, so you can keep many paused sandboxes around without affecting how many sandboxes you can run at the same time. + +There is also no time limit on how long a sandbox can remain paused. Paused sandboxes are kept indefinitely — there is no automatic deletion or time-to-live — and you can [resume](/docs/sandbox/persistence#resuming-sandbox) them at any time. + +E2B never kills paused sandboxes on its own. A paused sandbox is only removed when you explicitly call `kill` on it (either via `sandbox.kill()` or `Sandbox.kill(sandboxId)`). + +For more details on pausing and resuming, see the [Sandbox persistence](/docs/sandbox/persistence) page. diff --git a/docs/faq/public-templates.mdx b/docs/faq/public-templates.mdx new file mode 100644 index 00000000..9af16b5b --- /dev/null +++ b/docs/faq/public-templates.mdx @@ -0,0 +1,37 @@ +--- +title: "Can I make a template public so other teams can use it?" +sidebarTitle: Public templates +--- + +Yes. By default, templates are scoped to the team that built them, but you can publish a template to make it usable by any other E2B team. + +## Publishing a template + +You can publish a template in two ways: + +- **Dashboard** — open the [Templates tab](https://e2b.dev/dashboard?tab=templates), find the template, and toggle it to public. +- **CLI** — use the [E2B CLI](/docs/cli) to publish a template you've already built: + + ```bash + e2b template publish + ``` + +Once published, other teams can create a sandbox from your template by referencing it with the full namespaced format `team-slug/template-name`: + +```bash +e2b sandbox spawn your-team-slug/ +``` + +The same naming format works in the SDKs — pass `team-slug/template-name` as the template alias to `Sandbox.create()`. + +## Unpublishing + +To revoke public access, either toggle the template back to private in the [dashboard Templates tab](https://e2b.dev/dashboard?tab=templates), or run: + +```bash +e2b template unpublish +``` + +The template stays in your team and remains usable by your team — it's just no longer reachable by others. + +For more on naming and how the team-slug prefix works, see [Template names](/docs/template/names). diff --git a/docs/faq/template-limit.mdx b/docs/faq/template-limit.mdx new file mode 100644 index 00000000..15e1a440 --- /dev/null +++ b/docs/faq/template-limit.mdx @@ -0,0 +1,8 @@ +--- +title: "Is there a limit on how many templates I can create?" +sidebarTitle: Template limit +--- + +No. There is no limit on the total number of [templates](/docs/template/quickstart) you can create on your account. + +The only template-related limit is on **concurrent builds** — how many template builds can run at the same time. On Hobby and Pro tiers this is 20; Enterprise is custom. See the [Plans table](/docs/billing#plans) for the full list of limits.