All Projects → sambaiz → Puppeteer Lambda Starter Kit

sambaiz / Puppeteer Lambda Starter Kit

Licence: mit
Starter Kit for running Headless-Chrome by Puppeteer on AWS Lambda.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Puppeteer Lambda Starter Kit

Serverless Chrome
🌐 Run headless Chrome/Chromium on AWS Lambda
Stars: ✭ 2,625 (+366.25%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework, chrome, headless-chrome
Serverless Node Simple Image Resize
Simple image resize AWS lambda function
Stars: ✭ 74 (-86.86%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Aws Auto Cleanup
Open-source application to programmatically clean your AWS resources based on a whitelist and time to live (TTL) settings
Stars: ✭ 276 (-50.98%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Webiny Js
Enterprise open-source serverless CMS. Includes a headless CMS, page builder, form builder and file manager. Easy to customize and expand. Deploys to AWS.
Stars: ✭ 4,869 (+764.83%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Serverless Node Simple Messaging
Simple email AWS lambda function
Stars: ✭ 75 (-86.68%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-90.94%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Zappa
Serverless Python
Stars: ✭ 224 (-60.21%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Chalice
Python Serverless Microframework for AWS
Stars: ✭ 8,513 (+1412.08%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Serverless Next.js
⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
Stars: ✭ 2,977 (+428.77%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Zappa
Serverless Python
Stars: ✭ 11,859 (+2006.39%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Components
The Serverless Framework's new infrastructure provisioning technology — Build, compose, & deploy serverless apps in seconds...
Stars: ✭ 2,259 (+301.24%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Serverless Sam
Serverless framework plugin to export AWS SAM templates for a service
Stars: ✭ 143 (-74.6%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Serverless Express
Run Node.js web applications and APIs using existing application frameworks on AWS #serverless technologies such as Lambda, API Gateway, Lambda@Edge, and ALB.
Stars: ✭ 4,265 (+657.55%)
Mutual labels:  serverless, aws-lambda, lambda, serverless-framework
Serverless Puppeteer Layers
Serverless Framework + AWS Lambda Layers + Puppeteer = ❤️
Stars: ✭ 247 (-56.13%)
Mutual labels:  serverless, aws-lambda, chrome, puppeteer
Serverless Plugin Canary Deployments
Canary deployments for your Serverless application
Stars: ✭ 283 (-49.73%)
Mutual labels:  serverless, aws-lambda, serverless-framework
Aegis
Serverless Golang deploy tool and framework for AWS Lambda
Stars: ✭ 277 (-50.8%)
Mutual labels:  serverless, aws-lambda, lambda
Hands On Serverless Guide
A hands-on guide for building Serverless applications
Stars: ✭ 288 (-48.85%)
Mutual labels:  serverless, aws-lambda, serverless-framework
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (-15.63%)
Mutual labels:  serverless, aws-lambda, lambda
Serverless Golang
AWS Lambda Go functions using Serverless Framework and Python shim
Stars: ✭ 292 (-48.13%)
Mutual labels:  serverless, aws-lambda, serverless-framework
Chromda
λ 🖼️ Chromda is an AWS Lambda function for capturing screenshots of websites.
Stars: ✭ 481 (-14.56%)
Mutual labels:  serverless, aws-lambda, puppeteer

Puppeteer Lambda Starter Kit

Starter Kit for running Headless-Chrome by Puppeteer on AWS Lambda.

It can use alone and also supported Serverless Framework.

Download

Use alone

This is simple and don't need IAM role but you have to deploy package by yourself. Don't worry, even if you will become to use Serverless in the future, what you should do for migration is little.

$ git clone -o starter-kit https://github.com/sambaiz/puppeteer-lambda-starter-kit.git your_project_name

Use with Serverless Framework

Serverless Framework can manage settings with CloudFormation and deploy.

$ serverless install --url https://github.com/sambaiz/puppeteer-lambda-starter-kit --name your_project_name

Run on local

By executing SLOWMO_MS=250 npm run local, you can check the operation while actually viewing the chrome (non-headless, slowmo).

Packaging & Deploy

Lambda's memory needs to be set to at least 384 MB, but the more memory, the better the performance of any operations.

512MB -> goto(youtube): 6.481s
1536MB -> goto(youtube): 2.154s

chrome in package (recommended)

If you use alone, run npm run package, and deploy the package.zip.

If you use with Serverless, run serverless deploy (this runs npm run package when packaging).

chrome NOT in package

Due to the large size of Chrome, it may exceed the Lambda package size limit (50MB) depending on the other module to include. In that case, put Chrome in S3 and download it at container startup so startup time will be longer.

Run npm run package-nochrome, deploy the package.zip, and set following env valiables on Lambda.

  • CHROME_BUCKET(required): S3 bucket where Chrome is put
  • CHROME_KEY(optional): S3 key. default: headless_shell.tar.gz

Build Headless-Chrome (optional)

This kit includes Chrome built by myself because official build Chrome installed by Puppeteer has problems about running on Lambda (missing shared library etc.).

If you want to use latest chrome, run chrome/buildChrome.sh on EC2 having at least 16GB memory and 30GB volume. See also serverless-chrome. Once you build it, link to headless_shell.tar.gz in chrome dir.

Article

Lambda上でPuppeteer/Headless Chromeを動かすStarter Kitを作った - sambaiz-net

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].