Deployment

Build, migrate, and run in production.

railway.toml builds with keystone build --no-ui && next build and starts with npm run migrate && next start.

Provision

PostgreSQL, an S3-compatible bucket for listing media, and SMTP.

Configure

DATABASE_URL, SESSION_SECRET (32+ characters), the five S3_* values, NEXT_PUBLIC_APP_URL. Add SMTP_*, STRIPE_*, and PAYMENT_WEBHOOK_SIGNED_TEST_SECRET as needed. A development session secret is rejected in production.

Migrate and start

npm run migrate then npm start.

Webhooks

Point Stripe at /api/payment-webhooks/pp_stripe_stripe.

Outbox

npm run outbox:deliver runs the worker. Register a dispatcher in features/keystone/workers/outboxDispatchers.ts; until then runs report no_dispatcher.

See Getting started for every variable.

On this page