Skip to content

Latest commit

 

History

History

deploy-medusa-with-postgresql-and-redis-on-aws

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Deploy Medusa with PostgreSQL and Redis on AWS

This ready to use example show you how to deploy a Medusa app with PostgreSQL and Redis on AWS and make it accessible via HTTPS. All of that in just a few lines of Terraform.

Behind the scene

Behind the scene, Qovery:

  1. Creates a complete infrastructure on your AWS account (VPC, Security Groups, Subnet, EKS/Kubernetes...)
  2. Creates Qovery resources:
    1. Organization Terraform Demo
    2. Project Medusa
    3. Environment production
    4. PostgreSQL Database medusa postgres db
    5. Redis Database medusa redis db
    6. Application medusa app
    7. Inject all the Secrets and Environment Variables used by Medusa
  3. Builds medusa app application
  4. Pushes medusa app container image in your ECR registry
  5. Deploys your PostgreSQL database and configure the backups and disk encryption (AWS RDS).
  6. Deploys it on your EKS cluster (created by Qovery)
  7. Creates an AWS Network Load Balancer
  8. Generates a TLS certificate for your app
  9. Exposes publicly via HTTPS your Medusa app

It will take approximately 20 minutes to create your infrastructure and less than 10 minutes to deploy your application.

How to use

  1. Clone this repository
  2. Sign in to Qovery
  3. Install the Qovery CLI and generate an API Token with this guide.
  4. Generate your AWS credentials (Access Key ID and Secret Access Key) with this guide
  5. Open you terminal and run the following command by changing the values:
export TF_VAR_aws_access_key_id=YOUR_AWS_ACCESS_KEY_ID \
TF_VAR_aws_secret_access_key=YOUR_AWS_SECRET_ACCESS_KEY \
TF_VAR_qovery_access_token=YOUR_QOVERY_API_TOKEN \
TF_VAR_qovery_organization_id=YOUR_QOVERY_ORG_ID

If you use this template in production, beware that you have some values to change in variables.tf

  1. Fork Medusa
  2. Edit the main.tf file and change https://github.com/evoxmusic/medusa.git with yours
  3. You can now run the Terraform commands
terraform init
terraform plan
terraform apply
  1. Open your Qovery console to find out the HTTPS URL of your deployed app.
  2. To tear down your infrastructure and avoid unnecessary cloud costs you can run terraform destroy.