Skip to main content
This guide covers deploying Permify on Railway, either via a one-click template or manual setup.

One-Click Deploy

The fastest way to get started: Deploy on Railway This template automatically provisions:
  • A Permify instance with API authentication enabled
  • A PostgreSQL database for persistent storage
  • Private networking between services

What Gets Deployed

Permify Service

The template deploys the latest Permify container image with the following default configuration:

PostgreSQL Database

A dedicated PostgreSQL instance is provisioned and connected to Permify over Railway’s private network. The database connection is configured automatically—no manual setup required.

Connecting Your Application

After deployment, add these environment variables to your application service to connect to Permify:

Available Endpoints

Permify exposes two ports:
Both ports are accessible over Railway’s private network by default. To expose them publicly, configure a public domain in your Railway service settings.

Verifying the Deployment

By default, Permify runs on Railway’s private network with no public access. To verify the deployment: Option 1: Check Railway logs View the deployment logs in Railway’s dashboard. A successful start shows:
Option 2: Expose a public domain To test externally, add a public domain in Railway’s service settings (Settings → Networking → Public Networking). Then:
You should see:
Option 3: From another Railway service Your application can reach Permify on the private network at:

Manual Deployment

If you prefer to deploy manually instead of using the template:

1. Create a New Project

Create a new project in Railway and add a PostgreSQL database.

2. Add the Permify Service

Add a new service and deploy from the Docker image:

3. Configure Environment Variables

Set the following environment variables on your Permify service:

4. Set the Start Command

Configure the start command:

5. Expose Ports

In the service settings, expose ports 3476 (REST) and/or 3478 (gRPC) as needed.