---
title: "Deploy Openfront Pharmacy"
description: "Opensource pharmacy software based on Next.js and Keystone.js"
category: "Starters"
url: https://railway.com/deploy/openfront-pharmacy
---

# Deploy Openfront Pharmacy

Opensource pharmacy software based on Next.js and Keystone.js

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

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/openfront-pharmacy/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-pharmacy

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

## Buckets

- **Storage**

## Documentation

# Deploy and Host Openfront Pharmacy with Railway

Openfront Pharmacy is a self-hostable pharmacy operations and customer-commerce application. It separates eligible public shopping from prescription intake, pharmacist review, and dispensing. Pharmacy teams manage patients, prescriptions, fills, inventory lots, recalls, cold-chain records, orders, payments, and fulfillment.

## About Hosting Openfront Pharmacy

This template provisions the application from [its GitHub repository](https://github.com/openshiporg/openfront-pharmacy), 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 patients, recalls, store settings, integrations, pos, audit, inventory, orders, prescriptions, prescribers, credentials through dedicated dashboard workspaces and permission-controlled data screens.

### Storefront
Public routes cover `/products`, `/cart`, `/checkout`, prescription intake, refills, transfers, pickup, delivery, and order status. Only products eligible for public carts belong in customer checkout; prescription work has its own review workflow.

### Prescription Review & Dispensing
Record prescription intake, patient and prescriber information, clinical safety reviews, human approvals, fill reservations, dispensing labels, refill requests, and transfers.

### Inventory Safety
Receive and adjust location lots, record movements and temperature excursions, quarantine recall-affected inventory, and record human disposition.

### Orders & Fulfillment
Process eligible product orders and controlled fulfillment transitions. Payment sessions, Stripe integration, cash operations, refunds, and recovery records are distinct from pharmacist authorization.

## Common Use Cases

- Prescription Review & Dispensing
- Inventory Safety
- Orders & Fulfillment

## Dependencies for Openfront Pharmacy Hosting

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

### Deployment Dependencies

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