From b73ffb9120bf9f08994037e7828432a2223e21f0 Mon Sep 17 00:00:00 2001 From: Tomas Srnka Date: Sun, 26 Jul 2026 22:10:26 +0200 Subject: [PATCH] docs(template): base images now support Fedora/RHEL/Arch/Alpine, not Debian-only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The base-image page stated "E2B currently supports only Debian-based images … Alpine, RedHat-based … not supported." That's no longer true — the orchestrator now identifies the distro from /etc/os-release and provisions Debian/Ubuntu, Fedora + RHEL family (Rocky/Alma via ID_LIKE), Arch, and Alpine (infra #3381, proven on real KVM). Correct the restriction to an accurate supported-set note, and add the new fromFedoraImage/fromAlpineImage/fromArchImage (and Python from_*_image) convenience helpers to the examples (SDK: E2B #1612). Images with no identifiable distro (no /etc/os-release: scratch/distroless/ pure nixos-nix) and minimal images missing required packages (UBI-minimal) are called out as rejected-with-a-clear-error. --- docs/template/base-image.mdx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/template/base-image.mdx b/docs/template/base-image.mdx index e98a4c11..7248c9a3 100644 --- a/docs/template/base-image.mdx +++ b/docs/template/base-image.mdx @@ -31,19 +31,22 @@ template = Template( Every template starts with a base image that provides the foundation for your sandbox environment. - -E2B currently supports only Debian-based images. Your base image must be Debian or a Debian derivative (e.g., `debian`, `ubuntu`, `python`, `node`). Alpine, RedHat-based, and other non-Debian distributions are not supported. - + +E2B identifies your base image from its `/etc/os-release` and supports **Debian/Ubuntu, Fedora and the RHEL family (including Rocky Linux and AlmaLinux), Arch, and Alpine**. Images with no identifiable distribution — no `/etc/os-release`, e.g. `scratch`, distroless, or pure `nixos/nix` — and minimal images missing required packages (e.g. RHEL UBI-minimal with restricted repositories) are not supported and fail the build with a clear error naming the reason. + ### Predefined base images -Use convenience methods for common base images with Ubuntu, Debian, Python, Node.js, or Bun: +Use convenience methods for common base images with Ubuntu, Debian, Fedora, Alpine, Arch, Python, Node.js, or Bun: ```typescript JavaScript & TypeScript template.fromUbuntuImage("22.04"); // ubuntu:22.04 template.fromDebianImage("stable-slim"); // debian:stable-slim +template.fromFedoraImage("42"); // fedora:42 +template.fromAlpineImage("3.22"); // alpine:3.22 +template.fromArchImage("base-devel"); // archlinux:base-devel template.fromPythonImage("3.13"); // python:3.13 template.fromNodeImage("lts"); // node:lts template.fromBunImage("1.3"); // oven/bun:1.3 @@ -52,6 +55,9 @@ template.fromBunImage("1.3"); // oven/bun:1.3 ```python Python template.from_ubuntu_image("22.04") # ubuntu:22.04 template.from_debian_image("stable-slim") # debian:stable-slim +template.from_fedora_image("42") # fedora:42 +template.from_alpine_image("3.22") # alpine:3.22 +template.from_arch_image("base-devel") # archlinux:base-devel template.from_python_image("3.13") # python:3.13 template.from_node_image("lts") # node:lts template.from_bun_image("1.3") # oven/bun:1.3