Skip to content
/ pupper Public archive

Web page prerender service based on Puppeteer

License

Notifications You must be signed in to change notification settings

KazanExpress/pupper

Repository files navigation

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

About

Web page prerender service based on Puppeteer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published