Self-hosting
Deployment
Deploying the gateway to Cloudflare Workers via OpenNext.
The app deploys to Cloudflare Workers via OpenNext. Config lives in
apps/web/wrangler.jsonc: custom domains, the D1 database, and the R2
bucket.
One-time setup
cd apps/web
npx wrangler login
npx wrangler d1 create meshgateway-db # paste database_id into wrangler.jsonc
npx wrangler r2 bucket create meshgateway-storage
npx wrangler d1 migrations apply meshgateway-db --remote
npx tsx scripts/seed-stocks.ts https://meshgateway.co
npx wrangler d1 execute meshgateway-db --remote --file scripts/seed-stocks.generated.sql
npx wrangler secret put MPP_SECRET_KEY
npx wrangler secret put AUTH_SECRET
npx wrangler secret put RELAYER_PRIVATE_KEY
npx wrangler secret put ROBINHOOD_RPC_URL
npx wrangler secret put INTERNAL_API_TOKENEach deploy
npm run deploy --workspace apps/webnpm run preview --workspace apps/web runs the built worker locally in
workerd first. The meshgateway.co zone must exist in the Cloudflare
account; custom-domain DNS records are created by the deploy.