This ready to use example show you how to deploy a Strapi app with PostgreSQL on AWS and make it accessible via HTTPS. All of that in just a few lines of Terraform file.
Behind the scene, Qovery:
- Creates a complete infrastructure on your AWS account (VPC, Security Groups, Subnet, EKS/Kubernetes...)
- Creates Qovery resources:
- Organization
Terraform Demo
- Project
Strapi V4
- Environment
production
- Database
strapi db
- Application
strapi app
- Inject all the Secrets and Environment Variables used by Strapi
- Organization
- Builds
strapi app
application - Pushes
strapi app
container image in your ECR registry - Deploys your PostgreSQL database and configure the backups and disk encryption (AWS RDS).
- Deploys it on your EKS cluster (created by Qovery)
- Creates an AWS Network Load Balancer
- Generates a TLS certificate for your app
- Exposes publicly via HTTPS your Strapi app
It will take approximately 20 minutes to create your infrastructure and less than 10 minutes to deploy your application.
- Clone this repository
- Sign in to Qovery
- Install the Qovery CLI and generate an API Token with this guide.
- Generate your AWS credentials (
Access Key ID
andSecret Access Key
) with this guide - 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
- Clone my Strapi application
- Edit the
main.tf
file and changehttps://github.com/evoxmusic/strapi-v4.git
with yours - You can now run the Terraform commands
terraform init
terraform plan
terraform apply
- Open your Qovery console to find out the HTTPS URL of your deployed app.
- To tear down your infrastructure and avoid unnecessary cloud costs you can run
terraform destroy
.