Deployment
Build, migrate, and run Openfront Tour Guide on a Node host.
The live site at tour-guide.openship.org runs on Railway with PostgreSQL and a Railway bucket, deployed from the default branch with railway.toml. Stripe runs in test mode there. These steps are for running your own.
Railway file
railway.toml builds with keystone build --no-ui && next build and starts with npm run migrate && next start, so migrations run on each start. Note that npm run build itself also runs npm run migrate, so it needs the database reachable.
Any host
Provision PostgreSQL
Create an empty database.
Set environment
DATABASE_URL, SESSION_SECRET (32 or more characters), and the Stripe values for card payments. See Getting started.
Back up, build, start
npm run build
npm startCreate the first user
Open /dashboard/init, then run the setup dialog or enter your own data.
Add the Stripe webhook
Register /api/webhooks/payment/pp_stripe. See Payment providers.
All app processes must share the same database and SESSION_SECRET. Waiver and rebook links and checkout proof depend on that secret, so changing it invalidates links already sent.
What is not set up
- There is no scheduled job.
generateDeparturesandsweepDeparturesare operations you call yourself. Run them from a scheduler if you want them daily. - Holds expire by time but are released only when the next hold for that departure is placed or when a departure is cancelled.
- No email is sent for bookings.