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:
- Click New Project → Deploy from GitHub repo and select your repo from the list.
- Click Add variables, then add RPC URLs (e.g.
PONDER_RPC_URL_1) and other environment variables. - Create a public domain. In Settings → Networking, click Generate Domain.
- Update the start command. In Settings → Deploy, set the Custom Start Command to include the
--schemaoption. This is required to enable zero-downtime deployments. Read more.
pnpm
pnpm start --schema $RAILWAY_DEPLOYMENT_ID- Set the healthcheck path and timeout. In Settings → Deploy, set the Healthcheck Path to
/readyand the Healthcheck Timeout to3600seconds (1 hour, the maximum allowed).
Create a Postgres database
From the new project dashboard:
- Click Create → Database → Add PostgreSQL
- Open the Variables tab for the Ponder app service, click New Variable → Add Reference → select
DATABASE_URLand 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.