App Hosting service

Next.js

The Next.js integration represents a Next.js (App Router) application in your design. You choose where it will be hosted and provide the app details and README, then download the scaffolded project as a ready-to-run archive.

Next.js is one of the App Hosting service integrations. It handles its own webhook route:

POST/nextjs/webhook
Scaffold and download a Next.js app

What it does

This service does not deploy infrastructure. Instead, it scaffolds a complete Next.js project from the inputs you provide. When you request a SOURCE download, it generates the file tree (App Router, TypeScript, ESLint, a host-appropriate deployment config, and your README), compresses it into a .zip, and uploads it as a file output on the download — which you can then grab from Dreambase.

Choose where it’s hosted

The host input is a dropdown of supported targets — vercel, netlify, railway, aws, or self-hosted. The scaffold includes a matching config for the target you pick: vercel.json for Vercel, netlify.toml for Netlify, or a Dockerfile for the container-based hosts.

Inputs

InputRequiredDescription
appNameyesThe application name; also used as the npm package name (slugified).
hostoptionalWhere the app will run: vercel (default), netlify, railway, aws, or self-hosted.
descriptionoptionalA short description; used in package.json and the page.
versionoptionalInitial semantic version. Defaults to 0.1.0.
packageManageroptionalPackage manager used in the generated scripts and README: npm (default), yarn, or pnpm.
readmeoptionalMarkdown content for the generated README.md. A multi-line field — leave it blank to use a sensible default.

Multi-line README field

readme is a string input marked multiline, so Dreambase renders it as a text area rather than a single-line box — room to paste a full README. Any string input can opt into this by setting multiline: true.

What’s in the archive

The generated Next.js project includes:

  • package.json, tsconfig.json, next.config.mjs, next-env.d.ts, .eslintrc.json, .gitignore
  • app/layout.tsx, app/page.tsx, app/globals.css, and a public/ folder
  • README.md — your content, or a generated default
  • a host config: vercel.json, netlify.toml, or a Dockerfile

Events it handles

  • WEBHOOK_CHALLENGE — verify the webhook endpoint.
  • DOWNLOAD_STARTED — scaffold the app, zip it, and upload the archive as a file output (only the SOURCE download type applies).

Configuration

The service calls back into the API at DREAMBASE_API_URL (default http://localhost:3005) to update the download status, write logs, and upload the archive. It runs on PORT 3007 locally.