Files
medusa-store/www/docs/content/deployments/server/deploying-on-microtica.md
Shahed Nasser 914d773d3a api-ref: custom API reference (#4770)
* initialized next.js project

* finished markdown sections

* added operation schema component

* change page metadata

* eslint fixes

* fixes related to deployment

* added response schema

* resolve max stack issue

* support for different property types

* added support for property types

* added loading for components

* added more loading

* type fixes

* added oneOf type

* removed console

* fix replace with push

* refactored everything

* use static content for description

* fixes and improvements

* added code examples section

* fix path name

* optimizations

* fixed tag navigation

* add support for admin and store references

* general enhancements

* optimizations and fixes

* fixes and enhancements

* added search bar

* loading enhancements

* added loading

* added code blocks

* added margin top

* add empty response text

* fixed oneOf parameters

* added path and query parameters

* general fixes

* added base path env variable

* small fix for arrays

* enhancements

* design enhancements

* general enhancements

* fix isRequired

* added enum values

* enhancements

* general fixes

* general fixes

* changed oas generation script

* additions to the introduction section

* added copy button for code + other enhancements

* fix response code block

* fix metadata

* formatted store introduction

* move sidebar logic to Tags component

* added test env variables

* fix code block bug

* added loading animation

* added expand param + loading

* enhance operation loading

* made responsive + improvements

* added loading provider

* fixed loading

* adjustments for small devices

* added sidebar label for endpoints

* added feedback component

* fixed analytics

* general fixes

* listen to scroll for other headings

* added sample env file

* update api ref files + support new fields

* fix for external docs link

* added new sections

* fix last item in sidebar not showing

* move docs content to www/docs

* change redirect url

* revert change

* resolve build errors

* configure rewrites

* changed to environment variable url

* revert changing environment variable name

* add environment variable for API path

* fix links

* fix tailwind settings

* remove vercel file

* reconfigured api route

* move api page under api

* fix page metadata

* fix external link in navigation bar

* update api spec

* updated api specs

* fixed google lint error

* add max-height on request samples

* add padding before loading

* fix for one of name

* fix undefined types

* general fixes

* remove response schema example

* redesigned navigation bar

* redesigned sidebar

* fixed up paddings

* added feedback component + report issue

* fixed up typography, padding, and general styling

* redesigned code blocks

* optimization

* added error timeout

* fixes

* added indexing with algolia + fixes

* fix errors with algolia script

* redesign operation sections

* fix heading scroll

* design fixes

* fix padding

* fix padding + scroll issues

* fix scroll issues

* improve scroll performance

* fixes for safari

* optimization and fixes

* fixes to docs + details animation

* padding fixes for code block

* added tab animation

* fixed incorrect link

* added selection styling

* fix lint errors

* redesigned details component

* added detailed feedback form

* api reference fixes

* fix tabs

* upgrade + fixes

* updated documentation links

* optimizations to sidebar items

* fix spacing in sidebar item

* optimizations and fixes

* fix endpoint path styling

* remove margin

* final fixes

* change margin on small devices

* generated OAS

* fixes for mobile

* added feedback modal

* optimize dark mode button

* fixed color mode useeffect

* minimize dom size

* use new style system

* radius and spacing design system

* design fixes

* fix eslint errors

* added meta files

* change cron schedule

* fix docusaurus configurations

* added operating system to feedback data

* change content directory name

* fixes to contribution guidelines

* revert renaming content

* added api-reference to documentation workflow

* fixes for search

* added dark mode + fixes

* oas fixes

* handle bugs

* added code examples for clients

* changed tooltip text

* change authentication to card

* change page title based on selected section

* redesigned mobile navbar

* fix icon colors

* fix key colors

* fix medusa-js installation command

* change external regex in algolia

* change changeset

* fix padding on mobile

* fix hydration error

* update depedencies
2023-08-15 18:07:54 +03:00

6.1 KiB
Raw Blame History

description, addHowToData
description addHowToData
Learn step-by-step. true

Deploy Your Medusa Backend on Microtica

In this document, you'll learn how to deploy your Medusa backend on your AWS account with Microtica.

Overview

Microtica is a cloud-native delivery platform that enables you to deploy infrastructure and applications to your AWS account, while providing actionable insights to help you optimize resources, performance, & costs.

Alternatively, you can use this button to deploy the Medusa backend to Microtica directly:

Deploy with Microtica

:::note

The Medusa infrastructure will be provisioned on your own AWS account. You retain full control over your infrastructure and data while getting all the benefits of infrastructure automation.

:::

What will be provisioned on AWS

Since Microtica deploys on your cloud account, here are the resources that the platform is going to provision in the environment.

  • VPC, subnets and networking
  • Container infrastructure based on Fargate
  • application load balancer
  • persistent storage
  • S3 bucket
  • Postgres database
  • and Redis (in production mode)

Prerequisites

Medusa Backend

It is assumed that you already have a Medusa backend installed locally. If you dont, please follow the quickstart guide.

Furthermore, your Medusa backend should be configured to work with PostgreSQL and Redis. You can follow the Configure your Backend documentation to learn how to do that.

Needed Accounts

  • A Microtica account. Microtica provides a free plan that you can use.
  • An AWS account that youll connect to Microtica to provision the infrastructure.
  • A GitHub account to create a repository to host your backend's codebase.

Required Tools


Deploy to Microtica

Step 1: Create/Import a Git repository

Before you can deploy your Medusa backend you need to connect your preferred Git account. Microtica will create a repository on your Git account with a default repo name medusa-server.

If you already have a Medusa backend repository that you want to deploy then you need to perform a couple of changes in your source code. Follow this tutorial to deploy and existing Medusa Backend app.

Step 2: Configure the Template

The second step provides customization possibilities by configuring environment variables.

Add an application name and the admin credentials that will be used to create an initial admin user with which you can later sign in to your Medusa Admin.

Then, choose whether you want a production Medusa Backend environment or a development one. The production template will provision your managed Relational Database Service (RDS) PostgreSQL and Redis instances.

Step 3: Connect an AWS account

In the last step before deployment, select the environment in which you want to deploy the template. An existing default environment called development will be preselected here, or you can create a new environment.

Then, connect your AWS account when prompted. This process takes only a few seconds, so afterward only choose the region you want to deploy in.

Step 4: Deploy to AWS

Finally, a deployment summary of what will be provisioned on your AWS account is presented. Click on the "Deploy" button to trigger a deployment of the template and start creating the infrastructure for a Medusa backend.

It will take around ten minutes for the solution to be deployed on your cloud account.

You can follow the build pipeline in real-time by clicking the "View Logs" button.

Once the build process is complete, a new deployment with the infrastructure resources is triggered. You can follow the logs of the deployment process by clicking the "View deployment" button, and then selecting the deployment from the list.


Test the Backend

After the deployment is finished, navigate to Resources → [AppName] (Medusa in this example) → Overview. Then, under the Resource Outputs section you should see the "AccessUrl". This is the backend's URL that you can use to access API endpoints and test them. You can try getting the list of products using the endpoint <AccessUrl>/store/products.

Health Route

You can access /health to get health status of your deployed backend.

Testing the Admin

:::note

Make sure to either set the autoRebuild option of the admin plugin to true or add its build command as part of the start command of your backend.

:::

If you deployed the admin dashboard alongside the backend, you can test it by going to <AccessUrl>/app. If you changed the admin path, make sure to change /app to the path you've set.


Add Environment Variables

The environment variables can be updated, added, or configured after deployment as well. You can access them with process.env.<VARIABLE NAME>.

You can read more about the built-in environment variables, as well as how to specify custom environment variables in the Medusa backend runtime in Microtica documentation.


Updating your Deployed Backend

Any updates to the backend (for example, updating the Medusa core version) are deployed automatically when changes are committed to the repository. Microtica will handle the entire process of building and deploying your application on your connected AWS account.