This guide will help you install the latest version of Browsershot on a new Ubuntu 20.04 server provisioned by Laravel Forge.

  1. First, update the servers sources to use the latest version of Node (currently 14):

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

  1. Next, install all required packages:

sudo apt-get install -y nodejs gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev

  1. Next, make sure the installed Headless Chrome has correct permissions:

sudo chmod -R o+rx /home/forge/dora-master.p74-m8.adaptify.se/node_modules/puppeteer/.local-chromium/ (your path will be different)

If you instead installed puppeteer globally, you should instead run sudo npm install --global --unsafe-perm puppeteer && sudo chmod -R o+rx /usr/lib/node_modules/puppeteer/.local-chromium