Deploy Medplum
Deploy Medplum on Railway. Healthcare backend with FHIR support. One click.
Just deployed
/var/lib/postgresql/data
Medplum Server
Just deployed
Medplum App
Just deployed
Redis
Just deployed
/data
Deploy and Host Medplum 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:
| Variable | Value |
|---|---|
MEDPLUM_BASE_URL | https://${{RAILWAY_PUBLIC_DOMAIN}} |
MEDPLUM_APP_BASE_URL | https://${{"Medplum App".RAILWAY_PUBLIC_DOMAIN}} |
MEDPLUM_PORT | ${{"Medplum Server".PORT}} |
PORT | 8103 |
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_URL | https://${{RAILWAY_PUBLIC_DOMAIN}}/storage/ |
MEDPLUM_BINARY_STORAGE | file:./binary/ |
Environment variables (Medplum App)
| Variable | Value |
|---|---|
MEDPLUM_BASE_URL | https://${{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
Medplum Server
medplum/medplum-server:latestMEDPLUM_RECAPTCHA_SITE_KEY
reCAPTCHA site key
MEDPLUM_RECAPTCHA_SECRET_KEY
reCAPTCHA secret key
Medplum App
medplum/medplum-app:latestRedis
redis:8.2.1