diff --git a/README.md b/README.md index 7e9f5c2..bbb1872 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ A collection of delicious docker recipes. ## 3rd-party - [x] tutum/builder +- [x] browserless/chrome - [x] certbot - [x] cachethq/docker - [x] puckel/docker-airflow diff --git a/browserless/README.md b/browserless/README.md new file mode 100644 index 0000000..499d2eb --- /dev/null +++ b/browserless/README.md @@ -0,0 +1,45 @@ +browserless +=========== + +## docker-compose.yml + +```yaml +browserless: + image: browserless/chrome + ports: + - "3000:3000" + environment: + - DEBUG=browserless/chrome + - MAX_CONCURRENT_SESSIONS=10 + - CONNECTION_TIMEOUT=600000 + - MAX_QUEUE_LENGTH=10 + - ENABLE_CORS=true + - CHROME_REFRESH_TIME=3600000 + shm_size: 2gb + restart: always +``` + +## screenshot.js + +```javascript +'use strict'; + +const puppeteer = require('puppeteer'); + +(async() => { + const browser = await puppeteer.connect({browserWSEndpoint: 'ws://localhost:3000'}); + const page = await browser.newPage(); + await page.goto('https://www.google.com/', {waitUntil: 'networkidle2'}); + await page.screenshot({path: 'google.png', fullPage: true}); + await browser.close(); +})(); +``` + +## Up and Running + +```bash +$ docker-compose up -d +$ PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm install puppeteer +$ node screenshot.js +$ imgcat google.png +``` diff --git a/browserless/docker-compose.yml b/browserless/docker-compose.yml new file mode 100644 index 0000000..022b5ab --- /dev/null +++ b/browserless/docker-compose.yml @@ -0,0 +1,13 @@ +browserless: + image: browserless/chrome + ports: + - "3000:3000" + environment: + - DEBUG=browserless/chrome + - MAX_CONCURRENT_SESSIONS=10 + - CONNECTION_TIMEOUT=600000 + - MAX_QUEUE_LENGTH=10 + - ENABLE_CORS=true + - CHROME_REFRESH_TIME=3600000 + shm_size: 2gb + restart: always