---
title: "Deploy Openfront Medspa"
description: "Opensource Aesthetic Record alternative based on Next.js and Keystone.js"
category: "Starters"
url: https://railway.com/deploy/openfront-medspa
---

# Deploy Openfront Medspa

Opensource Aesthetic Record alternative based on Next.js and Keystone.js

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

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

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

## Template content

### openfront-medspa

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

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

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

## Buckets

- **Storage**

## Documentation

# Deploy and Host Openfront Medspa with Railway

Openfront Med Spa is a self-hostable medical-aesthetics booking and practice-operations application. Clients can discover services and providers, book appointments, and manage visits. Practice teams coordinate scheduling, intake, treatment plans, consent, clinical records, checkout, inventory, memberships, packages, and commissions.

## About Hosting Openfront Medspa

This template provisions the application from [its GitHub repository](https://github.com/openshiporg/openfront-medspa), 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: `SESSION_SECRET`.

The app gets a Railway-generated public domain. No custom domains are included.

### Admin Dashboard
Manage commissions, clients, storefront, appointments, catalog, resources, schedules, checkout, engagement, integrations, inventory, benefits through dedicated dashboard workspaces and permission-controlled data screens.

### Storefront
Public routes include `/services`, `/providers`, `/book`, `/appointments`, `/account`, gift cards, gallery, and reviews. Appointment and treatment-plan journeys connect client booking to practice workflows.

### Scheduling & Practice Operations
Coordinate provider availability, resources, appointment reservations, waitlists, clients, checkout, retail sales, and reports.

### Treatment & Clinical Authority
Manage consultations, treatment plans, clinical orders, provider credentials and authorization, consent versions, treatment sessions, administrations, and signed records. Clinical execution remains subject to recorded authority and readiness checks.

### Inventory & Client Retention
Track inventory custody, lots, receiving, recalls, packages, memberships, loyalty, follow-up, incidents, and commissions. Medical use requires jurisdiction-specific clinical policy, approved infrastructure, and professional review.

## Common Use Cases

- Scheduling & Practice Operations
- Treatment & Clinical Authority
- Inventory & Client Retention

## Dependencies for Openfront Medspa Hosting

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

### Deployment Dependencies

- [openfront-medspa on GitHub](https://github.com/openshiporg/openfront-medspa)
- [Full README and onboarding instructions](https://github.com/openshiporg/openfront-medspa#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 Medspa 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 Medspa 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-medspa
