Deploy to production
Railway (recommended)
Railway (opens in a new tab) is currently the best place to deploy Ponder apps. Most Ponder apps cost ~$5 per month, and the deployment process is simple.
Sign up or 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
- Click Deploy from GitHub repo, then select your repo from the list
- Click Add variables, then add your project's RPC URL (e.g.
PONDER_RPC_URL_1
) and any other environment variables your project needs - Open the Settings tab, and click Generate Domain in Environment section
Monorepo users: You'll need to update your service's Start Command. This
can be found under Settings → Deploy → Start Command. Make sure
the command runs ponder start
at the Ponder project root (e.g. cd packages/ponder && pnpm start
).
Create a Postgres database service
From your project's dashboard, click New → Database → Add PostgreSQL.
After a moment, your Ponder service should redeploy successfully. Check the Build Logs and Deploy Logs tabs to debug any deployment issues.
Other cloud providers
Ponder has not been thoroughly tested on cloud providers other than Railway. However, Ponder apps should work in any environment that supports Node.js and can connect to a Postgres database.