Saturday, 28 September 2024

Show HN: Open-source Docker image to run Chrome browsers in your cloud https://bit.ly/3N3NeOR

Show HN: Open-source Docker image to run Chrome browsers in your cloud If you’ve ever worked with web scraping or automation using Puppeteer or Playwright, you know that running Chrome can be tricky. While headless mode (Chrome with no display) often works, some page elements only render in headed mode, forcing you to run Chrome with a display. This usually means bloating your Dockerfile with complex dependencies like xvfb. Updating your server or Lambda container to handle this can increase costs and lead to dependency hell. The Solution: I’ve built a streamlined solution—a Docker image that runs Chrome with all its necessary dependencies and exposes a FastAPI interface. This decouples the browser logic from your main codebase, letting you focus on scraping or automation without worrying about the underlying setup. The container exposes a WebSocket endpoint at ws://localhost:8000/ws, allowing you to connect Playwright or Puppeteer over Chrome DevTools Protocol (CDP). For example: browser = await pw.chromium.connect_over_cdp('ws://localhost:8000/ws') Each connection to the WebSocket spins up a new Chrome session in headed mode, and you can run multiple sessions concurrently. Unlike other solutions, Finic is fully open-source (Apache 2.0 licensed). You can try it by pulling the official Docker image or cloning the repo at Finic on GitHub ( https://bit.ly/3XKPBw6 ) and running `docker-compose up --build`. This approach simplifies handling Chrome for scraping, saves on cloud costs, and keeps your setup clean. Give it a try! https://bit.ly/3ZCDzq8 September 27, 2024 at 04:06PM

No comments:

Post a Comment