Skip to main content
Prisma Documentation Docs

Search documentation

Type to search this documentation.

On this pageOverview

Deploy to Railway (Prisma ORM v7) (/docs/orm/v7/prisma-client/deployment/traditional/deploy-to-railway)

For the complete Prisma documentation index, see llms.txt. A markdown version of any docs page is available by appending .md to its URL.

Learn how to deploy an app that uses Prisma ORM and Prisma Postgres to Railway

Location: ORM > v7 > Prisma Client > Deployment > Traditional > Deploy to Railway

This guide explains how to deploy an app that uses Prisma ORM and Prisma Postgres to Railway. The app exposes a REST API and uses Prisma Client to query a Prisma Postgres database. Your app will run on Railway and connect to a managed Prisma Postgres database.

Railway is a deployment platform that provides instant deployments, built-in observability, and scaling. It supports code repositories and container images from popular registries. Railway handles configuration management, environment variables, and provides private networking between services.

To get a pre-wired Next.js Project with Prisma ORM, Prisma Postgres, and Railway, use the Official Prisma Railway Template.

This template provisions a Prisma Postgres database and links it to your Next.js application when you deploy.

You need:

[!NOTE] If you don't have a project ready, you can use our example Prisma project. It's a simple Hono application that uses Prisma ORM and includes a REST API, a frontend for testing endpoints, and a defined Prisma schema with migrations.

  1. Go to the Railway dashboard
  2. Click Create a New Project
  3. Select GitHub Repo
  4. Click Configure GitHub App and authorize Railway
  5. Select your repository

Your application is now deploying to Railway, but it won't properly run without a database connection.

In the next section, you'll configure a database and set the DATABASE_URL environment variable in Railway.

Railway deploying application

You'll need a Prisma Postgres connection string. There are two ways to obtain one:

  • Create a new database on Prisma Data Platform
  • Run `npx create-db` for a temporary database *(no account required)*
  1. In your Railway project, open your service
  2. Go to the Variables tab
  3. Click New Variable
  4. Set the name to DATABASE_URL
  5. Paste your database connection string as the value
  6. Click Deploy to redeploy your application with the new environment variable
Railway environment variables setup

Once the deployment completes with the database URL configured:

  1. Navigate to the Settings tab
  2. Under Networking, click Generate Domain
  3. Your application will be available at the generated URL
Railway networking settings

Open the generated URL to see your deployed app.

If you used the example project, you should see three api endpoints already set up:

  • Check API status (/api)
  • Load feed (/api/feed)
  • Seed data (/api/seed)
Railway deployed application

If you see any errors:

  • Wait a minute and refresh
  • Ensure DATABASE_URL is set
  • Check the service logs
  • Redeploy

To learn more about the various features Railway offers for your application, visit the Railway documentation.

  • Deploy to Fly.io: Learn how to deploy a Node.js server that uses Prisma ORM to Fly.io
  • Deploy to Heroku: Learn how to deploy a Node.js server that uses Prisma ORM to Heroku
  • Deploy to Koyeb: Learn how to deploy a Node.js server that uses Prisma ORM to Koyeb Serverless Platform
  • Deploy to Render: Learn how to deploy a Node.js server that uses Prisma ORM to Render
  • Deploy to Sevalla: Learn how to deploy a Node.js server that uses Prisma ORM to Sevalla
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu