Deploy Openfront Tour Guide
Opensource FareHarbor alternative based on Next.js and Keystone.js
openfront-tour-guide
Just deployed
Just deployed
/var/lib/postgresql/data
Storage
Bucket
Just deployed
Deploy and Host Openfront Tour Guide with Railway
Openfront Tour Guide is a self-hostable booking and operations application for tour and activity operators. Guests book scheduled departures online, sign waivers, and check in; staff assign guides and equipment, handle weather cancellations, and settle money with guests, guides, and resellers.
About Hosting Openfront Tour Guide
This template provisions the application from its GitHub repository, PostgreSQL, and a private native Railway Bucket named Storage. The database starts empty; no demo records or reusable credentials are included. After deployment, open /dashboard/init to create the first admin, then load the complete or basic setup template from the sidebar.
DATABASE_URL references Postgres and the five S3_* variables reference the Storage bucket. Generated per deployment: SESSION_SECRET. Other references: SMTP_STORE_LINK. Defaults: NODE_ENV=production, PUBLIC_SIGNUPS_ALLOWED=false.
Optional and blank until you configure the provider: NEXT_PUBLIC_STRIPE_KEY, SMTP_FROM, SMTP_HOST, SMTP_PASSWORD, SMTP_PORT, SMTP_USER, STRIPE_PUBLISHABLE_KEY, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET.
The app gets a Railway-generated public domain on port 8080. No custom domains are included.
Admin Dashboard
Staff work from Today, Calendar, Bookings (status tabs and refunds), a mobile check-in manifest, Guides, and screens for Tours, Waivers, Promo codes, Resources, Channels, Customers, Payment providers, and Settings.
Storefront
Guests browse tours, pick a date, choose ticket quantities and add-ons, hold seats on a timer, enter participant names, and pay by card through Stripe. The confirmation shows the booking code, meeting point, and waiver links. Guests can look up and cancel a booking under the stored policy.
Departures & Capacity
- Schedules generate departures with live booked, held, and remaining seats.
- Seat holds expire after 10 minutes; every booking takes a lock on the departure.
- Guide and vehicle or boat assignment with overlap and certification checks.
Money & Channels
- Bookings snapshot prices, add-ons, tax, discounts, and the cancellation policy.
- Refunds follow the stored policy; weather cancellations refund in full.
- Reseller channel bookings and statements, guide payouts, and promo codes.
Common Use Cases
- Departures & Capacity
- Money & Channels
- Waivers & Check-In
Dependencies for Openfront Tour Guide Hosting
The app needs a PostgreSQL database and S3-compatible object storage. Both are provisioned by this template.
Deployment Dependencies
- openfront-tour-guide on GitHub
- Full README and onboarding instructions
- Documentation
- Railway Buckets
Implementation Details
Next.js and Keystone 6 with a GraphQL API, Prisma, and PostgreSQL. Migrations run at start (npm run migrate && next start). Payments, email, and other external providers need their own operator configuration; this template does not activate them. For card payments, point a Stripe webhook at /api/webhooks/payment/pp_stripe.
Why Deploy Openfront Tour Guide on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Openfront Tour Guide on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
openfront-tour-guide
openshiporg/openfront-tour-guideStorage
Bucket