Deploy Puppeteer with Node

You can deploy a sample Puppeteer service on Render in just a few clicks. Puppeteer helps you generate screenshots and PDFs of pages, crawl Single Page Apps (SPAs) to prerender them for SEO, and test your frontend code automatically.

For this example, we’re using a minimally modified version of Rendertron, a Node project created by Google to demo Puppeteer features.

  1. Fork render-examples/rendertron on GitHub.
  2. Create a new Web Service on Render, and give Render permission to access your new repo.
  3. Use the following values during creation:

    Build Commandnpm install && npm run build
    Start Commandnpm run start

That’s it! Your personal Rendertron will be live on your Render URL as soon as the build finishes.

A note on Node versions

By default, Render uses the latest LTS version of Node. But you can customize the version used for your app in one of two ways:

  • Add a file called .node-version at the root of your repo. This file should contain a single line containing the full semantic Node version you’d like to use.

    Your .node-version should look like this:

  • Alternatively, you can specify a Node version in the engines directive in your package.json. This can be an exact version like 10.17.0 or a range like >=10.11 <10.18.

    This is the relevant snippet from a sample package.json:

      "engines": {
        "node": ">=12 <13"