Prerequisites for New Projects

In this guide, learn about the prerequisites for your Medusa application and storefront before deploying it to Medusa Cloud in a new project.

Alternatively, you can create a project from a starter, as explained in the Create Projects guide.

Who is this guide for?#

This guide is intended for developers and teams deploying their local Medusa applications to Medusa Cloud.

You'll learn what setup steps are necessary for:

  1. Deploying a Medusa application (server and admin dashboard) only;
  2. Or deploying a Medusa application along with a storefront.

Prerequisites for Medusa Application Only#

This section covers the prerequisites for deploying your Medusa application (server and admin dashboard) to Cloud.

If you're also deploying a storefront with your backend, check the next section for additional prerequisites.

Configurations Managed by Medusa Cloud#

Your existing Medusa application (server and admin dashboard) doesn't need specific configurations to be deployed to Cloud. Medusa automatically:

Make sure to remove any of these modules from your medusa-config.ts file unless you want to use custom options for them. In that case, you must manually set up and manage those resources externally and configure them in your Medusa application.

Note: The Caching Module was introduced in Medusa v2.11.0 to replace the deprecated Cache Module. If you're still using the Cache Module, make sure to remove it from your medusa-config.ts file as well.

Prerequisites for Medusa Application with Storefront#

This section covers the prerequisites for deploying your Medusa application (server and admin dashboard) along with a storefront to Cloud.

Make sure to follow these steps in addition to the ones mentioned in the previous section.

Coming soon: Storefront deployment is an experimental feature, and our team is actively working on enhancing it. If you run into any issues, contact support for assistance.

Monorepo Setup#

To deploy your Medusa application along with a storefront, both projects must be set up in a monorepo structure.

To create a monorepo, you need:

  1. Package manager: Cloud supports npm, yarn (v1, v3, and v4), and pnpm as package managers.
  2. Monorepo tool: You can use turbo or nx to manage your monorepo.

You can structure your monorepo as you see fit. You'll be required to specify the paths to your Medusa application and storefront during the project creation process on Cloud.

Diagram showcasing the monorepo structure with Medusa application and storefront as separate packages

Root Build Script#

Your monorepo must have a build script that builds both the Medusa application and the storefront. Medusa executes this script during the deployment process.

For example, if you're using turbo, you should have the following script in your root package.json file:

package.json
1{2  "scripts": {3    "build": "turbo run build"4    // other scripts...5  }6}

Prerequisites for Yarn Workspaces#

If you're using yarn as your package manager, create the .yarnrc.yml file in the root of your monorepo with the following content:

.yarnrc.yml
1nodeLinker: node-modules2
3nmHoistingLimits: workspaces

You set the following configurations:

  1. nodeLinker: node-modules: Configures Yarn to install dependencies using the traditional node_modules structure, which is required for Medusa applications.
  2. nmHoistingLimits: workspaces: Ensures that dependencies are hoisted only to the workspace level, preventing potential conflicts between packages in the monorepo.

Prerequisites for NPM Workspaces#

If you're using npm as your package manager, and you're using the Next.js Starter Storefront as your storefront, add the following override in the storefront's package.json:

apps/storefront/package.json
1{2  "overrides": {3    // other overrides...4    "@medusajs/icons": {5      "react": "19.0.3",6      "react-dom": "19.0.3"7    }8  }9}

This ensures the @medusajs/icons package uses compatible versions of react and react-dom with the Next.js Starter Storefront.

Also, add the following override in your monorepo's root package.json:

package.json
1{2  "overrides": {3    // other overrides...4    "react": "19.0.3",5    "react-dom": "19.0.3"6  }7}

This ensures that all packages in your monorepo use compatible versions of react and react-dom.

Supported Storefront Frameworks#

Cloud currently supports deploying storefronts built with the following frameworks:

  1. Next.js v15+
  2. SvelteKit v2.40.0+
  3. Tanstack Start v1.132.0+

If you're using a different framework for your storefront, contact support to request it.


Additional Storefront Considerations#

When deploying your storefront to Cloud, there are additional considerations to keep in mind related to the build process, environment variables, and custom domains.

Refer to the Storefront guide for more details on these considerations.


Next Steps#

Now that you know the prerequisites for deploying your Medusa application and storefront to Cloud, you can create your project.

Refer to the Project guide to learn how to create a new project on Cloud.

Was this guide helpful?
Ask Anything
Ask any questions about Medusa. Get help with your development.
You can also use the Medusa MCP server in Cursor, VSCode, etc...
FAQ
What is Medusa?
How can I create a module?
How can I create a data model?
How do I create a workflow?
How can I extend a data model in the Product Module?
Recipes
How do I build a marketplace with Medusa?
How do I build digital products with Medusa?
How do I build subscription-based purchases with Medusa?
What other recipes are available in the Medusa documentation?
Chat is cleared on refresh
Line break