Next.js web app running in the sandbox using Bun
// template.ts import { Template, waitForURL } from 'e2b' export const template = Template() .fromBunImage('1.3') .setWorkdir('/home/user/nextjs-app') .runCmd( 'bun create next-app --app --ts --tailwind --turbopack --yes --use-bun .' ) .runCmd('bunx --bun shadcn@latest init -d') .runCmd('bunx --bun shadcn@latest add --all') .runCmd( 'mv /home/user/nextjs-app/* /home/user/ && rm -rf /home/user/nextjs-app' ) .setWorkdir('/home/user') .setStartCmd('bun --bun run dev --turbo', waitForURL('http://localhost:3000'))
// build.ts import { Template, defaultBuildLogger } from 'e2b' import { template as nextJSTemplate } from './template' await Template.build(nextJSTemplate, 'nextjs-app-bun', { cpuCount: 4, memoryMB: 4096, onBuildLogs: defaultBuildLogger(), })
import { Sandbox } from 'e2b' const sandbox = await Sandbox.create('nextjs-app-bun', { timeoutMs: 60_000 }) const url = sandbox.getHost(3000) console.log('Next.js app running at:', url)
Was this page helpful?