Certainly! Here's the revised README for QuickPage, ensuring clarity and accuracy:
The fastest, most cost-effective, and fully open-source solution to deploy static landing pages on AWS using S3, CloudFront, and ACM.
Are you frustrated with expensive or sluggish landing page hosting platforms?
Do you desire full control over your infrastructure while maintaining exceptional speed and minimal costs?
QuickPage offers a streamlined solution to deploy static sites leveraging:
- AWS S3: Reliable and scalable storage for your static assets
- AWS CloudFront: Global Content Delivery Network (CDN) ensuring rapid content delivery
- AWS Certificate Manager (ACM): Automated provisioning of SSL/TLS certificates for secure HTTPS connections
- AWS Route 53 (optional): Simplified custom domain setup and DNS management
With QuickPage, experience:
- No vendor lock-in: Maintain full ownership and control over your infrastructure
- Transparent pricing: Benefit from AWS's pay-as-you-go model without hidden fees
- Blazing-fast performance: Utilize AWS's global infrastructure for optimal speed
- โ Fully Open-Source: Access, modify, and contribute to the codebase freely
- โก๏ธ Optimized for Speed: Leverage AWS CloudFront's CDN capabilities for low-latency content delivery
- ๐ธ Cost-Effective Utilize AWS's pay-per-use pricing to minimize hosting expense.
- *๐ Automatic SSL/TLS Certificates: Seamless integration with AWS ACM for secure HTTPS connectios.
- *๐ Custom Domain Support: Easily configure your own domain with AWS Route53.
- ๐ฅ One-Click Deploymen: Deploy your site effortlessly using AWS Cloud Development Kit (DK).
- ๐ช CI/CD Reay: Integrate with GitHub Actions and other CI/CD pipelines for automated deployents.
Prerequisites:
- AWS LI: Ensure it's installed and configured with appropriate credetials.
- Node.js (โฅ 6): Required for running the AS CDK.
- AWS DK: Install globally using
npm install -g aw-cdk. - AWS Accont: Active account with necessary permisions.
- Route 53 Hosted Zone (optinal): Needed if you plan to use a custom omain.
Deployment Steps:
-
Clone the Repository:
git clone https://github.com/your-repo/quickpage.git
2. **Navigate to the Project Directory**:
```bash
cd quickpage
-
Install Dependencies:
npm install
4. **Configure AWS CDK**:
Ensure your AWS CLI is configured. Bootstrap your environment if you haven't:
```bash
cdk bootstrap
-
Deploy the Stack:
cdk deploy
This command will provision the necessary AWS resources, including S3, CloudFront, ACM certificates, and optionally Route 53 configurations.
6. **Upload Your Static Site**:
After deployment, sync your static site files to the created S3 bucket:
```bash
aws s3 sync ./path-to-your-site s3://your-bucket-name
-
Access Your Site:
Once the files are uploaded and CloudFront has propagated, your site will be accessible via the provided CloudFront URL or your custom domain if configured.
Custom Domans:
To use a custom domain, ensure you have a Route 53 hosted zone set up. During deployment, specify your domain name, and QuickPage will handle the necessary DNS and SSL certificate configuations.
Continuous Deploymnt:
Integrate QuickPage with CI/CD pipelines like GitHub Actions for automated deployments. Upon pushing changes to your repository, your site can be automatically updated and dployed.
Debugging AWS Resoures:
QuickPage includes a standalone debug script to assist in diagnosing and resolving issues with AWS resources.To se:
./scripts/debug_aws_resourcessh
``
This script provides detailed informaion on:
- **S3 Bucets**: Configurations, ACLs, policies, locations, and website sttings.
- **CloudFront Distributons**: Details about distributions and their rigins.
- **ACM Certifictes**: Information on certificates associated with your omans.
For convenience, you can also invoke this script using the `--debug` flag with `quickpge.h`:
```bash
./quickpage.sh --deugWe welcome contributions! Please fork the repository, create a feature branch, and submit a pull request. For major changes, open an issue first to discuss your proposed modifcations.
This project is licensed under the MIT License. See the LICENSE file for mor details
For further assistance or inquiries, please open an issue on our GitHub rpository.