sync-content
Sync Content to S3
Sync local gallery content to AWS S3 bucket.
Arguments
$ARGUMENTS- Optional: specific gallery folder to sync
Steps
-
Verify AWS credentials:
aws sts get-caller-identity --profile pitfal -
Sync all media files:
aws s3 sync ./content/galleries/ s3://pitfal-media/galleries/ \ --profile pitfal \ --exclude "*.DS_Store" \ --exclude "*.tmp" \ --exclude ".git/*" -
Report files uploaded and total size
For Specific Gallery
If $ARGUMENTS is provided:
aws s3 sync ./content/galleries/$ARGUMENTS/ s3://pitfal-media/galleries/$ARGUMENTS/ \
--profile pitfal \
--exclude "*.DS_Store"
Dry Run (Preview Only)
To see what would be synced without uploading:
aws s3 sync ./content/galleries/ s3://pitfal-media/galleries/ \
--profile pitfal \
--dryrun
Output
Report:
- Number of files uploaded
- Number of files deleted (if --delete used)
- Total data transferred
- S3 bucket URL
More from forever-efficient/pitfal-solutions-website
optimize-images
Batch optimize images for web delivery. Converts to WebP, generates multiple sizes, and creates blur placeholders.
39gallery-manage
Organize, validate, and manage photo/video galleries. Create gallery structures, validate image files, and prepare content for upload.
35logs
View recent CloudWatch logs for Lambda functions and API Gateway.
30stripe-setup
Set up Stripe products, prices, and webhooks for Pitfal Solutions photography packages. Creates products for portrait sessions, event coverage, digital downloads, and prints. Use when configuring payment processing.
30deploy
Deploy the Pitfal Solutions website to AWS. Use when user says deploy, push to production, or update live site. Runs pre-checks, builds Next.js, deploys Terraform infrastructure, syncs to S3, and invalidates CloudFront cache.
29db-seed
Seed the DynamoDB database with sample data for development and testing. Populates galleries, inquiries, and admin tables. Use when setting up local dev environment or resetting test data. WARNING - never run in production.
29