Deploy on Railway – Ponder
Skip to content

Deploy on Railway

Host a Ponder app on Railway

Railway's general-purpose cloud platform is a great starting point for most Ponder apps.

Guide

Log in to Railway

Connect your GitHub account, and make sure that your Ponder app has been pushed to remote.

Create a Ponder app service

From the Railway console:

  1. Click New ProjectDeploy from GitHub repo and select your repo from the list.
  2. Click Add variables, then add RPC URLs (e.g. PONDER_RPC_URL_1) and other environment variables.
  3. Create a public domain. In SettingsNetworking, click Generate Domain.
  4. Update the start command. In SettingsDeploy, set the Custom Start Command to include the --schema option. This is required to enable zero-downtime deployments. Read more.
pnpm
pnpm start --schema $RAILWAY_DEPLOYMENT_ID
  1. Set the healthcheck path and timeout. In SettingsDeploy, set the Healthcheck Path to /ready and the Healthcheck Timeout to 3600 seconds (1 hour, the maximum allowed).

Create a Postgres database

From the new project dashboard:

  1. Click CreateDatabaseAdd PostgreSQL
  2. Open the Variables tab for the Ponder app service, click New VariableAdd Reference → select DATABASE_URL and click Add

After a moment, the service running ponder start should redeploy successfully. Check the Build Logs and Deploy Logs tabs to debug any issues.