Self-host a project

Updated 2026-09-03

Every project is a standard layout with no proprietary runtime, so it runs wherever Node runs. Start by exporting it.

On your machine

npm install
npm run dev

On a Linux server (VPS)

  1. Copy the exported project to the server (or clone it from GitHub).
  2. Install Node.js 20 or newer.
  3. npm install, then npm run build. Open package.json to see the exact scripts for your project.
  4. Set the environment the app expects. A full-stack cloud project expects DATABASE_URL pointing at a PostgreSQL database you control; the Builder's own servers run PostgreSQL 16.
  5. Run the built server under a process manager (systemd or PM2) so it restarts on failure, and put a reverse proxy such as Caddy or nginx in front of it for TLS.

In a container

If the project has no Dockerfile, a minimal one is enough: a Node base image, npm ci, npm run build, and the project's start command. Pass environment variables with -e or an env file, and run PostgreSQL as a separate container or a managed database.

On a managed platform

Platforms that deploy from a Git repository (Railway, Render, Fly.io and similar) need the repository, the build command (npm run build), the start command from package.json, and the environment variables. Push to GitHub first, then connect the repository in the platform's dashboard.

Moving a cloud project's data

If the project ran on a Builder cloud server, its database is a normal PostgreSQL 16 database on that server. Use pg_dump on the server and pg_restore (or psql) into the database you are moving to.