{"id":15145697,"url":"https://github.com/hadii-tech/production-ready-prestashop","last_synced_at":"2025-06-25T00:42:04.353Z","repository":{"id":116122274,"uuid":"250918303","full_name":"hadii-tech/production-ready-prestashop","owner":"hadii-tech","description":"Deploy a Scalable, highly available, and performant Prestashop solution on AWS using CloudFormation","archived":false,"fork":false,"pushed_at":"2023-10-10T20:03:46.000Z","size":303,"stargazers_count":15,"open_issues_count":4,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-06T21:07:09.776Z","etag":null,"topics":["aws","cloudformation","ecommerce","iac","prestashop","taskcat"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hadii-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-28T23:57:56.000Z","updated_at":"2023-11-10T09:32:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"b523aefe-1ed1-4f24-b676-cc0633a824f4","html_url":"https://github.com/hadii-tech/production-ready-prestashop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hadii-tech/production-ready-prestashop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadii-tech%2Fproduction-ready-prestashop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadii-tech%2Fproduction-ready-prestashop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadii-tech%2Fproduction-ready-prestashop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadii-tech%2Fproduction-ready-prestashop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hadii-tech","download_url":"https://codeload.github.com/hadii-tech/production-ready-prestashop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadii-tech%2Fproduction-ready-prestashop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261782724,"owners_count":23208908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cloudformation","ecommerce","iac","prestashop","taskcat"],"created_at":"2024-09-26T11:41:51.293Z","updated_at":"2025-06-25T00:42:04.345Z","avatar_url":"https://github.com/hadii-tech.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# production-ready-prestashop\n \n [![maintained-by](https://img.shields.io/badge/Maintained%20by-Hadii%20Technologies-50C878.svg)](https://hadii.ca) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-blue.svg?style=flat-square)](http://makeapullrequest.com) ![](https://github.com/fadhel-solutions/production-ready-prestashop/workflows/ci-cd/badge.svg?branch=master)\n \nThis repository deploys a Scalable, highly available, and performant [Prestashop](https://www.prestashop.com/en) solution in the [AWS cloud](https://aws.amazon.com/) using [CloudFormation](https://aws.amazon.com/cloudformation/). Launch the entire stack in your AWS region of choice using one of the options below:\n| Region       | Launch |\n|--------------|--------|\n| us-east-1    |[![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)        |\n| us-west-1    | [![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=us-west-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)          |\n| ap-south-1   | [![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=ap-south-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)          |\n| ap-east-1    | [![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=ap-east-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)          |\n| ca-central-1 | [![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=ca-central-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)       |\n| eu-central-1 | [![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=eu-central-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)          |\n| eu-west-1    | [![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)          |\n| eu-north-1   |[![launch-stack](https://hadii.s3.ca-central-1.amazonaws.com/assets/download.png)](https://console.aws.amazon.com/cloudformation/home?region=eu-north-1#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml)           |\n\n\n**Want to launch this stack in a region that's not listed?** Navigate to `https://console.aws.amazon.com/cloudformation/home?region=YOUR_REGION#/stacks/new?stackName=prestashop-stack\u0026templateURL=https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest/production_ready_prestashop.yaml`\n\n# Design\nRead more about the high level design of the system [here](https://www.hadii.ca/insights/scalable-prestashop).\n![Scalable Prestashop Architecture Diagram](/resources/scalable_presta.png)\n\n# Getting Started\nThe entire solution is represented using multiple CloudFormation stacks:\n  * `production_ready_prestashop.yaml`: The parent CloudFormation stack that deploys all the major infrastructure components below that comprise the entire solutions as nested CloudFormation stacks.\n  * `private-vpc.yaml`: Deploys containerized applications onto a cluster of EC2 hosts using Elastic Container Service. This stack runs containers on hosts that are in a private VPC subnet. Outbound network traffic from the hosts must go out through a NAT gateway.\n  * `efs-service.yaml`: Deploys an EFS file system with the appropriate folder mounts required for Prestashop ECS Containers.\n  * `rds-service.yaml`: Deploys an RDS MariaDB instance that Prestashop will use. Multi-AZ is disabled by default.\n  * `ec2-service.yaml`: Deploys an EC2 AutoScaling Groups, Public Load balancer, and Security Groups required for the entire deployment.\n  * `ecs-service.yaml`: Deploys an elastic container service that will run Prestashop containers on registered instances in our cluster.\n  * `service-autoscaling.yaml`: A stack for configuring autoscaling between the EC2 ASG and ECS Service using CloudWatch alarms.\n  \n### Development Environment\n1. Setup an AWS account.\n2. Install [taskcat](https://github.com/aws-quickstart/taskcat)\n3. Install the [AWS cli tool](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)\n   \n#### Local Testing\n1. Push your templates to an S3 bucket: `aws s3 sync --acl public-read templates/ s3://your-bucket`\n2. Update the `NestedStacksS3URL` param in taskcat's config file (`.taskcat.yml`) to point to the S3 URL containing your template files ([example](https://production-ready-prestashop.s3.ca-central-1.amazonaws.com/versions/latest))\n3. Run `taskcat -d test run`\n\n### Contribute\nRefer to `.github/workflows/ci-cd.yml` to get an idea of what the CI pipeline does to test pull requests. Fork this repository, open a pull request, ensure all checks pass, ensure `taskcat` is not throwing any lint warnings, and request a review.\n \n ### Important Implementation Notes\n* The ECS cloudformation template launches containers with an environment variable `PS_ERASE_DB` set to `1`. This will erase the prestashop database every time a new container is started. This is required to setup the database the first time. Once this is done, run `aws cloudformation update-stack` with a value of `0`.\n* The RDS cloudformation template does not enable multi-AZ by default. This can easily be modified by setting `Properties.MultiAZ` to `true` for the `AWS::RDS::DBInstance` resource in this stack.\n\n\n # Contributors\n * [Muntazir Fadhel](http://mfadhel.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadii-tech%2Fproduction-ready-prestashop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhadii-tech%2Fproduction-ready-prestashop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadii-tech%2Fproduction-ready-prestashop/lists"}