Railway

Deploy Medplum

Deploy Medplum on Railway. Healthcare backend with FHIR support. One click.

Deploy Medplum

/var/lib/postgresql/data

Just deployed

Just deployed

Just deployed

/data

Deploy and Host Medplum on Railway

Deploy on Railway

Medplum is an open-source healthcare platform built around HL7 FHIR. It provides APIs, authentication, storage, and a ready-to-use web app for building modern healthcare applications such as EHRs, patient portals, and clinical workflows.

About Hosting Medplum

Hosting Medplum requires a PostgreSQL database for persistence, Redis for caching and job queues, and optional file storage for binary data. The platform consists of two main services:

  • Medplum Server → FHIR API, authentication, and backend logic
  • Medplum App → Frontend web application served via Nginx

Railway provisions all required services, handles networking, SSL, and environment configuration.


Common Use Cases

  • Electronic Health Records (EHR)
  • Patient portals and scheduling systems
  • Clinical workflows and automation
  • Healthcare integrations using FHIR
  • Internal tools for clinics and providers

Dependencies for Medplum Hosting

  • PostgreSQL (main database)
  • Redis (cache, queues, sessions)
  • Optional persistent storage (binary/file storage)

Deployment Dependencies


Implementation Details

Environment variables (Medplum Server)

Use Railway reference syntax:

VariableValue
MEDPLUM_BASE_URLhttps://${{RAILWAY_PUBLIC_DOMAIN}}
MEDPLUM_APP_BASE_URLhttps://${{"Medplum App".RAILWAY_PUBLIC_DOMAIN}}
MEDPLUM_PORT${{"Medplum Server".PORT}}
PORT8103
MEDPLUM_DATABASE_HOST${{Postgres.PGHOST}}
MEDPLUM_DATABASE_PORT${{Postgres.PGPORT}}
MEDPLUM_DATABASE_USERNAME${{Postgres.PGUSER}}
MEDPLUM_DATABASE_PASSWORD${{Postgres.PGPASSWORD}}
MEDPLUM_DATABASE_DBNAME${{Postgres.PGDATABASE}}
MEDPLUM_REDIS_HOST${{Redis.REDISHOST}}
MEDPLUM_REDIS_PORT${{Redis.REDISPORT}}
MEDPLUM_REDIS_PASSWORD${{Redis.REDISPASSWORD}}
MEDPLUM_STORAGE_BASE_URLhttps://${{RAILWAY_PUBLIC_DOMAIN}}/storage/
MEDPLUM_BINARY_STORAGEfile:./binary/

Environment variables (Medplum App)

VariableValue
MEDPLUM_BASE_URLhttps://${{RAILWAY_PUBLIC_DOMAIN}}
MEDPLUM_CLIENT_ID``

Architecture Overview

  • Medplum Server

    • Handles FHIR resources
    • Authentication (OAuth, email, etc.)
    • Business logic and bots
  • Medplum App

    • Static frontend served via Nginx
    • Connects to Medplum Server via MEDPLUM_BASE_URL

Why Deploy Medplum on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway manages your services, networking, and scaling so you can focus on building healthcare applications.

By deploying Medplum on Railway, you can quickly launch a fully functional FHIR backend and web app, ready for production use with minimal setup.


Template Content

More templates in this category

View Template
caring-vibrancy
Deploy and Host caring-vibrancy with Railway

baleocho
View Template
Flask WebSocket Chat
Single file, realtime multi-user websocket chat using flask-socketio

Clement Ochieng
View Template
all-star-fashion-template
Deploy and Host all-star-fashion-template with Railway

Mai Thành Duy An