Skip to main content

🚀 AWSUP - Lightning-fast AWS static website deployment

Project description

🚀 AWSUP - Lightning-Fast AWS Website Deployment

Production-grade CLI tool for deploying static websites to AWS using S3, CloudFront, Route53, and ACM. Zero configuration, maximum automation.

⚡ Quick Start

# Install globally
pip install awsup

# Deploy your website instantly
cd /path/to/your/website
awsup deploy yourdomain.com --website-path .

# Or deploy with default "Coming Soon" page
awsup deploy yourdomain.com

That's it! AWSUP handles all AWS infrastructure automatically.

✨ Features

  • 🎯 Zero Config - Works out of the box
  • 🔒 Secure by Default - SSL, OAC, encryption enabled
  • Lightning Fast - Global CloudFront CDN
  • 🛡️ Production Ready - Comprehensive validation & error handling
  • 🎨 Beautiful CLI - Rich terminal UI with progress bars
  • 🔄 Smart State - Resumes interrupted deployments
  • 🌍 Global - Works with any domain registrar

🎯 Common Workflows

React/Next.js:

npm run build
awsup deploy myapp.com --website-path ./build

Vue/Nuxt:

npm run generate  
awsup deploy myapp.com --website-path ./dist

Static HTML:

awsup deploy myapp.com --website-path ./public

Jekyll/Hugo:

awsup deploy myapp.com --website-path ./_site

📋 All Commands

# Deploy website
awsup deploy yourdomain.com --website-path ./build

# Check status
awsup status yourdomain.com

# Clear CDN cache
awsup invalidate yourdomain.com

# Remove all AWS resources
awsup cleanup yourdomain.com

# Advanced: Deploy in phases
awsup phase1 yourdomain.com    # DNS setup
awsup phase2 yourdomain.com    # Full deployment

🔄 How It Works

  1. Route53 - Creates hosted zone and DNS records
  2. ACM - Requests and validates SSL certificate
  3. S3 - Creates secure bucket and uploads files
  4. CloudFront - Sets up global CDN with SSL
  5. DNS - Configures domain routing

📋 Prerequisites

  1. AWS Account with appropriate permissions
  2. Python 3.8+ installed
  3. AWS CLI configured with credentials
  4. Domain name (registered with any registrar)

Required AWS Permissions

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "route53:*",
        "s3:*", 
        "cloudfront:*",
        "acm:*",
        "sts:GetCallerIdentity"
      ],
      "Resource": "*"
    }
  ]
}

🔧 Domain Configuration

After running awsup deploy, configure nameservers at your domain registrar:

Configure these nameservers at your registrar:
  NS1: ns-123.awsdns-12.com
  NS2: ns-456.awsdns-34.net
  NS3: ns-789.awsdns-56.org
  NS4: ns-012.awsdns-78.co.uk

Steps:

  1. Log into your domain registrar (GoDaddy, Namecheap, etc.)
  2. Go to DNS settings for your domain
  3. Change nameservers from default to custom
  4. Enter the NS records shown above
  5. Wait 5-30 minutes for DNS propagation

🛡️ Security Features

  • S3 buckets are private (no public access)
  • CloudFront Origin Access Control (OAC)
  • TLS 1.2+ enforced with automatic SSL certificates
  • Input validation for domains and files
  • Security scanning of uploaded content

🚨 Troubleshooting

DNS Not Resolving

  • Verify NS records at your registrar
  • Wait up to 48 hours for propagation
  • Test: dig yourdomain.com NS

CloudFront Not Updating

  • Clear cache: awsup invalidate yourdomain.com
  • Wait 15-20 minutes for changes

Certificate Issues

  • Ensure NS records are configured
  • Wait up to 30 minutes for validation

💰 Cost Estimates

For a small website (<1GB, <100GB transfer/month): ~$5-10/month

  • Route53: $0.50 per hosted zone
  • S3: ~$0.023 per GB stored
  • CloudFront: ~$0.085 per GB transferred
  • ACM: Free with CloudFront

🎛️ Advanced Usage

Multiple environments:

awsup deploy staging.myapp.com --website-path ./dist-staging
awsup deploy myapp.com --website-path ./dist-production

Custom configuration:

awsup init yourdomain.com --region us-west-2 --environment prod

📊 Monitoring

AWSUP automatically sets up:

  • CloudWatch dashboards
  • Resource tagging for cost tracking
  • Structured logging
  • State management

🤝 Support

For issues or feature requests:

📄 License

MIT License - Feel free to use and modify.


Made with ❤️ for developers who want simple AWS deployments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awsup-2.0.3.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

awsup-2.0.3-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file awsup-2.0.3.tar.gz.

File metadata

  • Download URL: awsup-2.0.3.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for awsup-2.0.3.tar.gz
Algorithm Hash digest
SHA256 b8c9add03589b0b9f7c595519b876d508c30de8969fb95dfb6974102fabeece4
MD5 e9e98fb54b42314c5e1886861bf68444
BLAKE2b-256 6105bdeb8153f3d56dcc0900fd14254ecefabb9119ad65a99925337aa71f60d8

See more details on using hashes here.

File details

Details for the file awsup-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: awsup-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for awsup-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c6eedfc015fa8fe0526f5f302059cc415014d2b30bd06a04b0c042119f429449
MD5 6c26c4c46c40014cb986518c0c6e4bf6
BLAKE2b-256 355c2c119509e58508797fd00ff767eb2df0f74cca294550fc0a592d613753d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page