App Hosting service

Express.js

The Express.js integration represents an Express (TypeScript) 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.

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

POST/expressjs/webhook
Scaffold and download an Express app

What it does

This service does not deploy infrastructure. Instead, it scaffolds a complete Express project from the inputs you provide. When you request a SOURCE download, it generates the file tree (a TypeScript Express server with a health route, tsconfig, 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 — railway, aws, render, vercel, or self-hosted. The scaffold includes a matching config for the target you pick: a Dockerfile for the container-based hosts, render.yaml for Render, or vercel.json for Vercel.

Inputs

InputRequiredDescription
appNameyesThe application name; also used as the npm package name (slugified).
hostoptionalWhere the app will run: railway (default), aws, render, vercel, or self-hosted.
descriptionoptionalA short description; used in package.json and the README.
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 Express project includes:

  • package.json, tsconfig.json, .gitignore, .env.example
  • src/index.ts (an Express server) and src/routes/health.ts
  • README.md — your content, or a generated default
  • a host config: a Dockerfile, render.yaml, or vercel.json

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.