browserless.io released a rewritten version of their platform in December, and being a foolhardy self-hoster I decided to try and get that working with my changedectection.io setup immediately. This is all hosted on my HP EliteDesk with a 9th gen intel processor I got off of ebay, and it also hosts my miniflux, plex, pihole, portainer, ladder, and home assistant. All of these are running in docker containers managed in Portainer, which has been great for just fiddling around with new containers.
changedetection.io ships with instructions on how to get v1 of browserless working with playwright to allow you to use a full browser to monitor websites for you. It is great, right now I have it running a search on the SEC’s full-text database for a certain string every day. But since v2 of browserless is out, I wanted to see if I could get it working!
When I did, it cut my total RAM usage in half, and now only spins up briefly when it is working.
The main changes from the v1 docker compose include:
- Adding “headless=false” to the PLAYWRIGHT_DRIVER_URL; v2 moves a number of options from env variables to connect calls or API calls. The sites I’m working with have protections for bots, so I wanted to make sure to add back “headless=false” so it looks more like a regular Chrome browser.
- Some of the env variables that I still use were renamed, so I’m using TIMEOUT instead of CONNECTION_TIMEOUT and CONCURRENT instead of MAX_CONCURRENT_SESSIONS
- Switch the container registry from Docker Hub (only v1 is there) to GHCR
So, without further ado, here is my full docker compose for <changedetection.io> working in docker with browserless v2. Enjoy!