Skip to content

Latest commit

 

History

History
68 lines (39 loc) · 1.6 KB

File metadata and controls

68 lines (39 loc) · 1.6 KB

Pupper

Pupper is a simplified fork of jclvicerra/puppeteer-prerender web page prerenderer service based on Puppeteer(Chrome headless node API). Which is almost ready to use in production (actually we are already using it :) ).

Useful server side rendering through proxy. Outputs only HTML (if you need PDF on PNG consider forking this project or use the original).

Features

  • docker and k8s ready

  • Limiting concurrent requests

  • Pupper uses Redis as cache backend

  • Has a blacklist of domains to ignore while rendering pages (e.g. metrics, stats, trackers, etc)

  • Correct status codes for crawlers (using <meta name="prerender-status-code" content="404">)

  • and other ...

Getting Started

Without docker

Install dependencies

npm install

Run

node src/index.js

With docker

Build Docker Image

docker build -t kexpress/pupper .

Start Docker Image

docker run -i --rm --cap-add=SYS_ADMIN --name puppeteer-chrome -p 8080:3000 kexpress/pupper

Testing

curl http://puppeteer-renderer/http://www.google.com

License

MIT

Copyright (c) 2019-present, Alik Khilazhev

Credits

Jessie Cris Vicerra