Deploy
Railway (recommended)
Railway 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 → Deploy from GitHub repo and 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 - Expose your service to the public internet. Open the Settings tab and click Generate Domain under Networking
- Set a healthcheck path. In the Settings tab, enter
/health
for Healthcheck Path under Deploy
Monorepo users: Update the service Root Directory and/or Start Command
to run ponder start
at the Ponder project root. For example, set the root
directory to packages/ponder
or set the start command to cd packages/ponder && pnpm start
.
Create a Postgres database service
- From your project's dashboard, click New → Database → Add PostgreSQL.
- Go back to your service. Open Variables tab and click on New Variable
- Click on Add Reference, select
DATABASE_PRIVATE_URL
, and click on Add
After a moment, your Ponder service should redeploy successfully. Check the Build Logs and Deploy Logs tabs to debug any issues.
Other environments
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.