Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: 'Deploy to Railway'
metaTitle: 'Deploy a Prisma app to Railway'
metaDescription: 'Learn how to deploy an app that uses Prisma ORM and Prisma Postgres to Railway.'
---

This guide explains how to deploy an app that uses Prisma ORM and Prisma Postgres to [Railway](https://railway.com). 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 simplifies the software development lifecycle with instant deployments, built-in observability, and effortless 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](https://railway.com/deploy/prisma-postgres).

This template automates the provisioning and setup of a Prisma Postgres database, linking it directly to your Next.js application upon deployment, making the entire project ready with just one click.

## Prerequisites

To get started, all you need is:

* A [Railway account](https://railway.com)
* A GitHub repository with your application code.

:::note
If you don't have a project ready, you can use our [example Prisma project](https://github.com/prisma/prisma-examples/tree/latest/deployment-platforms/railway). 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.
:::

## Deploy your application

### 1. Create a new Railway project

1. Go to the [Railway dashboard](https://railway.com/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](./images/railway-deploying.png)

## Configure your database

### 1. Get your database connection string

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

- Create a new database on [Prisma Data Platform](https://console.prisma.io)
- Run `npx create-db` for a temporary database _(no account required)_

### 2. Add the database URL to Railway

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](./images/railway-env-vars.png)

### 3. Access your application

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](./images/railway-networking.png)

Go to the generated URL and you'll 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](./images/railway-final-product.png)

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](https://docs.railway.app).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion content/250-postgres/1100-integrations/200-vercel.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ The easiest way to use Prisma Postgres on the Vercel Marketplace is via one of t
- [Postgres + Kysely Next.js Starter](https://vercel.com/templates/next.js/postgres-kysely)
- [Postgres + Drizzle Next.js Starter](https://vercel.com/templates/next.js/postgres-drizzle)
- [Postgres + SvelteKit Starter](https://vercel.com/templates/svelte/postgres-sveltekit)
- [Next.js SaaS Starter](https://vercel.com/templates/authentication/next-js-saas-starter)

## Usage

Expand Down
8 changes: 4 additions & 4 deletions content/900-ai/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ npx -y mcp-remote https://mcp.prisma.io/mcp
}
href={{
text: "Read now",
url: "https://www.prisma.io/docs/postgres/integrations/mcp-server#tools"
url: "/postgres/integrations/mcp-server#tools"
}}
body={`Discover all the tools that make up the capabilities of the Prisma MCP server.`}
/>
Expand All @@ -102,7 +102,7 @@ npx -y mcp-remote https://mcp.prisma.io/mcp
}
href={{
text: "Read now",
url: "https://www.prisma.io/docs/postgres/integrations/mcp-server#integrating-in-ai-tools"
url: "/postgres/integrations/mcp-server#integrating-in-ai-tools"
}}
body={`Learn how to integrate Prisma’s MCP server in your favorite AI tool, such as Cursor, Claude, Warp, and more.`}
/>
Expand Down Expand Up @@ -151,7 +151,7 @@ npx -y mcp-remote https://mcp.prisma.io/mcp
}
href={{
text: "Read now",
url: "https://www.prisma.io/docs/guides/ai-sdk-nextjs"
url: "/guides/ai-sdk-nextjs"
}}
body={`Learn how to build a chat application using the Vercel AI SDK with Next.js and Prisma ORM to store chat sessions and messages in a Prisma Postgres database.`}
/>
Expand All @@ -178,7 +178,7 @@ npx -y mcp-remote https://mcp.prisma.io/mcp
}
href={{
text: "Get started",
url: "https://www.prisma.io/docs/postgres/integrations/idx"
url: "/postgres/integrations/idx"
}}
body={`Google's <a target="_blank" rel="noopeneer noreferrer" href="https://studio.firebase.google.com/">Firebase Studio</a> is a fully-fledged online IDE with a native AI integration. Prompt and build apps directly in your browser and deploy them by connecting with a powerful Prisma Postgres database in just a few clicks.`}
/>
Expand Down
Loading