{"id":19250940,"url":"https://github.com/imsalmanmalik/terraform-aws-codepipeline-codedeploy-docker-metabase-project","last_synced_at":"2026-04-11T00:03:48.590Z","repository":{"id":243562572,"uuid":"812765071","full_name":"imsalmanmalik/Terraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project","owner":"imsalmanmalik","description":"The project includes setting up a VPC with private subnets, EC2 instances, RDS, and S3, along with Docker containers for application deployment. It also features a CI/CD pipeline with AWS CodeDeploy and CodePipeline. Live data visualisation using Metabase BI tool.","archived":false,"fork":false,"pushed_at":"2024-06-09T21:16:00.000Z","size":1854,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-05T06:28:39.663Z","etag":null,"topics":["aws","bash-scripting","business-intelligence","codedeploy","codepipeline","containerization","docker","docker-compose","ecr-registry","infrastructure-as-code","metabase","multitier-architecture","php","rds-database","security","terraform","visualisation","vpc-network"],"latest_commit_sha":null,"homepage":"","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imsalmanmalik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-06-09T20:13:39.000Z","updated_at":"2024-06-09T21:18:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"41c95fdb-6c66-4b58-8a7d-53ea675026d8","html_url":"https://github.com/imsalmanmalik/Terraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project","commit_stats":null,"previous_names":["imsalmanmalik/terraform-aws-codepipeline-metabase-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsalmanmalik%2FTerraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsalmanmalik%2FTerraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsalmanmalik%2FTerraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsalmanmalik%2FTerraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imsalmanmalik","download_url":"https://codeload.github.com/imsalmanmalik/Terraform-AWS-CodePipeline-CodeDeploy-Docker-Metabase-Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240347760,"owners_count":19787230,"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","bash-scripting","business-intelligence","codedeploy","codepipeline","containerization","docker","docker-compose","ecr-registry","infrastructure-as-code","metabase","multitier-architecture","php","rds-database","security","terraform","visualisation","vpc-network"],"created_at":"2024-11-09T18:19:21.864Z","updated_at":"2025-12-30T22:54:48.968Z","avatar_url":"https://github.com/imsalmanmalik.png","language":"SCSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# End-to-End AWS Infrastructure Deployment: Terraform, Docker, CI/CD, and Live Data Visualization with Metabase\n\nThis repository showcases a complete deployment of a PHP application on AWS using Terraform, Docker, AWS CodeDeploy and CodePipeline.\n\n## Table of Contents\n\n- [Project Overview](#project-overview)\n- [Getting Started](#getting-started)\n- [Infrastructure Setup](#infrastructure-setup)\n- [CI/CD Pipeline](#ci-cd-pipeline)\n- [Domain and SSL Configuration](#domain-and-ssl-configuration)\n- [Monitoring](#monitoring)\n\n## Project Overview\n\nThis project demonstrates the following key aspects:\n- **Infrastructure as Code (IaC):** Automated deployment of AWS resources including VPC with private subnets using Terraform.\n- **AWS Services:** Deployment of EC2 instances, RDS, S3, and more.\n- **Application Setup:** Nginx and PHP applications deployed using Docker containers.\n- **CI/CD Pipeline:** Continuous Integration and Continuous Deployment using AWS CodeDeploy.\n- **Security:** SSL certificates configuration via Cloudflare.\n- **Live Visualization:** Metabase BI tool for monitoring the RDS MySQL database.\n- **Access Management:** Secure access to private resources using a jump server.\n\n## Getting Started\n\nTo get a local copy up and running, follow these steps.\n\n### Prerequisites\n\n- AWS Account\n- Terraform\n- Docker\n- AWS CLI\n- Cloudflare Account\n\n### Installation\n\n1) Configure AWS CLI:\n\n```bash\naws configure\n```\n\n## Infrastructure Setup\n\n1) Apply Terraform Configuration:\n   \n```bash\nterraform init\n```\n\n```bash\nterraform plan\nterraform apply\n```\n\n2) Access Jump Server:\n\n```bash\nssh -i your-key.pem ec2-user@jump-server-ip\n```\n\n3) Access Backend Server via Jump Server:\n\n```bash\nssh -i your-key.pem ec2-user@private-vm-ip\n```\n\n## CI/CD Pipeline\n\n1) Setup Docker and Docker-Compose:\n\n* Ensure Docker and Docker-Compose are installed on the deployment servers.\n\n2) Configure CodeDeploy:\n\n* Use the provided appspec.yml and buildspec.yml files to setup CodeDeploy.\n\n3) Deploy Applications:\n\n* Deploy Nginx and PHP applications using Docker containers.\n\n## Domain and SSL Configuration\n\n1) Domain Setup:\n\n* Configure your domain with Cloudflare.\n\n2) SSL Certificates:\n\n* Add a CNAME record in Cloudflare to get free SSL certificates for your domain.\n\n## Monitoring\n\n1) Setup Metabase:\n   \n* Deploy Metabase using Docker.\n\n* Configure Metabase to monitor the RDS MySQL database.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimsalmanmalik%2Fterraform-aws-codepipeline-codedeploy-docker-metabase-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimsalmanmalik%2Fterraform-aws-codepipeline-codedeploy-docker-metabase-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimsalmanmalik%2Fterraform-aws-codepipeline-codedeploy-docker-metabase-project/lists"}