---
title: "Deploy Openfront Hotel"
description: "Opensource Cloudbeds alternative based on Next.js and Keystone.js"
category: "Starters"
url: https://railway.com/deploy/openfront-hotel
---

# Deploy Openfront Hotel

Opensource Cloudbeds alternative based on Next.js and Keystone.js

**[Deploy Openfront Hotel on Railway](https://railway.com/template/openfront-hotel)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/openfront-hotel/manifest.json

- **Creator:** Openship
- **Category:** Starters

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### openfront-hotel

- **Source:** https://github.com/openshiporg/openfront-hotel
- **Start command:** `npm run migrate && next start`
- **Public domain:** Yes

## Buckets

- **Storage**

## Documentation

# Deploy and Host Openfront Hotel with Railway

Openfront Hotel is a self-hostable hotel property-management and direct-booking application. Guests can browse rooms, compare stay quotes, book direct, and review their booking and folio. Staff use the dashboard for reservations, room assignments, rates, housekeeping, maintenance, guest bills, and daily hotel operations.

## About Hosting Openfront Hotel

This template provisions the application from [its GitHub repository](https://github.com/openshiporg/openfront-hotel), PostgreSQL, and a private native Railway Bucket named `Storage`. The database starts empty; no demo records or reusable credentials are included. Initialize the application using the repository's onboarding instructions after deployment.

`DATABASE_URL` references Postgres and the five `S3_*` variables reference the Storage bucket. Generated per deployment: `HOTEL_DATA_ENCRYPTION_KEY`, `HOTEL_QUOTE_SECRET`, `SESSION_SECRET`. Other references: `NEXTAUTH_URL`, `NEXT_PUBLIC_SITE_URL`. Defaults: `NODE_ENV=production`, `PUBLIC_SIGNUPS_ALLOWED=false`, `STRIPE_ENABLED=false`.

Optional and blank until you configure the provider: `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. No custom domains are included.

### Admin Dashboard
Manage reservations, room types, physical rooms, rates, guests, and payment providers. Dedicated workspaces cover the front desk, housekeeping, maintenance, folios, cashier work, receivables, groups, and reporting.

### Storefront
Guests can browse rooms, choose dates and guest counts, get a stay quote, and book direct. Booking lookup and guest account screens provide access to booking details, folios, cancellation, and modification requests. Public pages cover amenities, gallery, location, policies, and contact.

### Reservations & Room Inventory
Room types, physical rooms, nightly inventory, rate plans, and seasonal rates are separate records. Staff can create and amend bookings, assign rooms, check guests in and out, and manage group blocks and allocations.

### Folios & Payments
Folios record charges, payments, and reversals. Staff workflows include payment recording, refund requests, cashier operations, receivables, and night audit. Stripe and PayPal adapters are included; enabled state and encrypted credentials are configured in dashboard payment-provider records.

### Housekeeping & Property Operations
Track cleaning tasks, room operational status, and maintenance requests. Business dates, night-audit runs, daily metrics, audit events, and an outbox support property operations. Channel records and configured HTTP exchange are available; they are not native Booking.com or Expedia adapters.

## Common Use Cases

- Reservations & Room Inventory
- Folios & Payments
- Housekeeping & Property Operations

## Dependencies for Openfront Hotel Hosting

The app needs a PostgreSQL database and S3-compatible object storage. Both are provisioned by this template.

### Deployment Dependencies

- [openfront-hotel on GitHub](https://github.com/openshiporg/openfront-hotel)
- [Full README and onboarding instructions](https://github.com/openshiporg/openfront-hotel#readme)
- [Railway Buckets](https://docs.railway.com/guides/storage-buckets)

### Implementation Details

Next.js and Keystone 6 with a GraphQL API, Prisma, and PostgreSQL. Payments, email, and other external providers need their own operator configuration; this template does not activate them.

## Why Deploy Openfront Hotel 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 Hotel 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.


## Similar templates

- [Openfront Gym](https://railway.com/deploy/openfront-gym) — Opensource Mindbody alternative based on Next.js and Keystone.js
- [open-excalidraw](https://railway.com/deploy/open-excalidraw) — Self-hostable collaborative drawing built on Excalidraw
- [Next.js + Prisma + PostgreSQL Starter](https://railway.com/deploy/nextjs-prisma-postgres) — Deploy a Next.js app with Prisma ORM and PostgreSQL in one click.

Open this page in a browser: https://railway.com/deploy/openfront-hotel
