Search code examples
javascriptnode.jsherokupuppeteer

Puppeteer unable to run on Heroku


I deployed an app on heroku, and I added the Puppeteer Heroku buildpack.

After a succesful redeployment, I tried to run it and it fails. Using heroku logs -t, I get this error message:

2018-09-07T13:16:10.870497+00:00 app[web.1]: Error: Failed to launch chrome!
2018-09-07T13:16:10.870512+00:00 app[web.1]: [0907/131610.045486:FATAL:zygote_ho
st_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chro
mium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.
md for more information on developing with the SUID sandbox. If you want to live
 dangerously and need an immediate workaround, you can try using --no-sandbox.

Solution

  • You should be able to solve this issue by passing the --no-sandbox and --disable-setuid-sandbox flags to puppeteer.launch():

    const browser = await puppeteer.launch({
      args: [
        '--no-sandbox',
        '--disable-setuid-sandbox',
      ],
    });
    

    If this does not work, you may want to read the official Puppeteer troubleshooting guide: Running Puppeteer on Heroku.