Skip to main content
This doc is for deploying Typebot on a server manually. If you’re looking for running Typebot locally, for development purposes, check out the local installation guide.
The easiest way to get started with Typebot is with the official managed service in the Cloud. You’ll have high availability, backups, security, and maintenance all managed for you by me, Baptiste, Typebot’s founder. The cloud version can save a substantial amount of developer time and resources. For most sites this ends up being the best value option and the revenue goes to funding the maintenance and further development of Typebot. So you’ll be supporting fair source software and getting a great service!

Requirements

  • A Postgres database hosted somewhere. For production, Neon is my provider of choice. This is not an affiliate link; it is simply the provider I use and recommend for a production database. You can also use any compatible Postgres provider or host Postgres yourself.
  • A server with Node.js 24.x, bun, Nginx, and PM2 installed.
  • Experience in deploying Next.js applications with PM2. Check out this guide for more information.

Getting Started

  1. Fork/clone the repository and checkout the latest stable version.
  1. Setup environment variables by copying the example files and following the configuration guide to fill in the missing values.
The database user should have the SUPERUSER role. You can setup and migrate the database with the bunx nx db:migrate prisma command.
  1. Install dependencies
  1. Run the database migrations
  1. Build the builder and viewer
If you face the issue Node ran out of memory, then you should increase the memory limit for Node.js. For example,NODE_OPTIONS=--max-old-space-size=4096 will increase the memory limit to 4GB. Check this stackoverflow answer for more information.

Deployments

Deploy the builder

From the repository root, start the builder with PM2:

Deploy the viewer

From the repository root, start the viewer with PM2:
You can change the ports passed after -p. The PM2 commands must be run from the repository root so Nx can resolve the workspace.

Nginx configuration

You can use the following configuration to serve the builder and viewer with Nginx. Make sure to replace the server_name values with the respective domain names for your Typebot instance. They should match NEXTAUTH_URL and NEXT_PUBLIC_VIEWER_URL. Check out this guide for a step-by-step guide on how to setup Nginx and PM2.