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
--schema
option. 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
/ready
and the Healthcheck Timeout to3600
seconds (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_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.