Skip to main content
Basic Expo app.
The development server runs on port 8081 as soon as the sandbox is ready.
// template.ts
import { defaultBuildLogger, waitForURL } from "e2b";

export const template = Template()
  .fromNodeImage()
  .setWorkdir("/home/user/expo-app")
  .runCmd("npx create-expo-app@latest . --yes")
  .runCmd("mv /home/user/expo-app/* /home/user/ && rm -rf /home/user/expo-app")
  .setWorkdir("/home/user")
  .setStartCmd("npx expo start", waitForURL("http://localhost:8081"));
# template.py
from e2b import Template, wait_for_url

template = (
    Template()
    .from_node_image()
    .set_workdir("/home/user/expo-app")
    .run_cmd("npx create-expo-app@latest . --yes")
    .run_cmd("mv /home/user/expo-app/* /home/user/ && rm -rf /home/user/expo-app")
    .set_workdir("/home/user")
    .set_start_cmd("npx expo start", wait_for_url('http://localhost:8081'))
)
// build.ts
import { Template, defaultBuildLogger } from 'e2b'
import { template as expoTemplate } from './template'

Template.build(expoTemplate, 'expo-app', {
  cpuCount: 4,
  memoryMB: 8192,
  onBuildLogs: defaultBuildLogger(),
})
# build.py
from e2b import Template, default_build_logger
from .template import template as expoTemplate

Template.build(expoTemplate, 'expo-app',
    cpu_count=4,
    memory_mb=8192,
    on_build_logs=default_build_logger(),
)