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).
-
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 ...
npm installnode src/index.jsdocker build -t kexpress/pupper .docker run -i --rm --cap-add=SYS_ADMIN --name puppeteer-chrome -p 8080:3000 kexpress/puppercurl http://puppeteer-renderer/http://www.google.comCopyright (c) 2019-present, Alik Khilazhev