Supported platforms
The backend is a standard Node.js/Express application and can be deployed to any Node.js hosting provider. Commonly used options include:Render
Free tier available. Supports automatic deploys from GitHub and managed PostgreSQL databases.
Railway
Simple GitHub-based deploys with built-in PostgreSQL provisioning.
Heroku
Established platform with extensive add-on ecosystem including PostgreSQL.
Deployment steps
Provision a PostgreSQL database
Create a PostgreSQL database on your hosting provider and note the connection string. Most providers expose this as a
DATABASE_URL environment variable automatically.Set environment variables
Configure the following environment variables in your hosting provider’s dashboard:
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string (e.g., postgresql://user:pass@host:5432/db) |
JWT_SECRET | Cryptographically random secret used to sign JWTs |
PORT | Port the Express server listens on (many providers set this automatically) |
NODE_ENV | Set to production |
Run Prisma migrations
Before starting the server, apply migrations to your production database. Run this command as part of your deploy pipeline or release command:This runs
prisma migrate dev against the DATABASE_URL in your environment.Production environment variables
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string including credentials and database name |
JWT_SECRET | Yes | Secret key for signing and verifying JWTs. Must be a strong, unique random value |
PORT | No | Port to listen on. Defaults to 5000 if not set. Most platforms set this automatically |
NODE_ENV | Yes | Set to production to enable production-mode behavior |