martinklewitz / screenshot-service

Puppeteer AWS Lambda screenshot service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Puppeteer AWS Lambda screenshot service

serverless Deploy Latest Master

Screenshot service running Headless-Chrome by Puppeteer on AWS Lambda.

Demo available here

✔️ 5 minutes to deploy

✔️ No binary checked-in

✔️ No lambda layer required

✔️ Runs locally with serverless-offline

demo

Locally service works with puppeteer, packaged version contains uses puppeteer-core instead. With this workaround service able to work locally on any environment and at the same time have acceptable build size (~38Mb)

Prerequisites

  • Node.js
  • yarn
  • serverless cli (install with npm i -g serverless)

Installation

  • Clone this repository
git clone https://github.com/EugeneDraitsev/screenshot-service.git
  • Install dependencies
yarn
  • Deploy the service
sls deploy --stage prod

Custom domain

To customize the domain use serverless-domain-manager plugin

API

This service exposes a single HTTP GET endpoint that given the url returns a screenshot.

About

Puppeteer AWS Lambda screenshot service

License:MIT License


Languages

Language:TypeScript 55.0%Language:JavaScript 25.5%Language:Shell 19.4%