
Deploy Medusajs 2.0 + Storefront (TRIAL)
Full ecommerce solution, manage products, inventory, orders, etc.
Just deployed
/app/.medusa/server/static
Just deployed
/var/lib/postgresql/data
Just deployed
Deploy and Host Medusajs 2.0 + Storefront (TRIAL) on Railway
A reduced edition of the Medusa 2.0 template that fits inside Railway's free plan, which allows three services per project. Medusa itself is open source and free on any plan; what this template solves is the service limit. It runs the Medusa 2.0 backend with admin dashboard, a Next.js storefront and Postgres, deployed in one click, so you can run a real store on Railway without upgrading first.
It is a starting point and a demo build, not a production setup. For a real store, deploy the full version.
Actively maintained: currently running Medusa v2.19.0, updated 31 August 2026.
An independent community project by FUNKYTON. Not affiliated with, endorsed by, or supported by MedusaJS, Inc. It uses the open-source Medusa release as published, with no fork or patches to the core, and adds the Railway deployment setup on top. The Medusa documentation applies as normal.
Video Instructions
Additional Docs & Resources
- Full guide: https://funkyton.com/medusajs-2-0-is-finally-here/
- GitHub: https://github.com/rpuls/medusajs-2.0-for-railway-boilerplate
- Medusa's own documentation: https://docs.medusajs.com/
About Hosting Medusajs 2.0 + Storefront (TRIAL)
The full Medusa stack needs more services than Railway's free plan permits. This template is trimmed to three: the Medusa backend with its admin dashboard, a Next.js storefront, and Postgres. Everything that would normally live in a separate service is either dropped or runs in-process.
On deploy it provisions and connects all three, runs the database migrations, seeds the store, creates your admin user with a randomized strong password, and passes the publishable API key to the storefront. When the health checks go green you can sign in, add products and place a test order. It is a genuinely working shop, not a mock-up.
What has been cut to fit three services
- No Redis. Medusa falls back to its in-memory event bus and workflow engine. Queued events and in-flight workflows do not survive a restart, and the backend cannot run more than one instance.
- No MeiliSearch. Storefront product search is switched off.
- No object storage. Product images are written to a volume on the backend rather than S3-compatible storage, so they are not served through a CDN.
None of that matters for evaluating Medusa or showing a client a working store. All of it matters once you have real customers.
Moving to the full template
The full version is the same codebase with Redis, MeiliSearch and S3-compatible object storage added back, and it is the one that is actively maintained and supported. It needs a paid Railway plan. Deploy it alongside this one and migrate your data when you are ready.
Common Use Cases
- Running Medusa 2.0 on Railway without a paid plan
- Learning the Medusa admin, data model and storefront hands-on
- Standing up a demo or client-facing proof of concept quickly
- Prototyping custom commerce logic against a real backend
For an actual store, use the full version.
Dependencies for Medusajs 2.0 + Storefront (TRIAL) Hosting
- A GitHub account and a Railway account
- Railway's free plan, which allows the three services this template uses
- Optional: Stripe keys for card payments, and Resend or SendGrid keys for transactional email
Deployment Dependencies
- Full version of this template, with Redis, search and object storage, for production
- Medusa documentation, for anything about Medusa itself
- Template repository and issues, for anything about this template or its Railway setup
- How-to guides & blog
- Video: install locally after deploying
Implementation Details
- Three services: Medusa backend (with admin dashboard), Next.js storefront, and Postgres.
- All services auto-configure and connect on deploy, with health checks so you know when the stack is ready.
- Automatic admin user creation with a randomized strong password.
- Publishable API keys plus JWT and cookie secrets are generated and shared between services for you.
- With no
REDIS_URLset, the backend uses Medusa's in-memory event bus and workflow engine. Add a Redis service and setREDIS_URLto switch to the persistent ones. - Product images are stored on a volume mounted at
/app/.medusa/server/static. To move to S3-compatible storage later, set theS3_*environment variables described in the repo'sbackend/.env.template. - Storefront product search is disabled, since MeiliSearch is not part of this template. Add a MeiliSearch service and set
NEXT_PUBLIC_FEATURE_SEARCH_ENABLED=trueto switch it on, or deploy the full version instead. - Stripe and email integrations are pre-installed. Add your keys and they activate.
- Where to get help: template and deployment questions belong in the GitHub repo. Questions about Medusa itself belong in the Medusa documentation. For Railway questions, see the Railway Discord.
Why Deploy Medusajs 2.0 + Storefront (TRIAL) 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.
This template exists so the free plan's three-service limit is not a wall. Start here, and when the store is real, the full version scales it up on the same platform without changing anything you have learned.
Template Content



