49 words
1 minutes
Headful puppeteer inside docker using wsl

Hi, you can run puppeteer with GUI inside docker with the help of wsl:

compose.yml

services:
  puppeteer-server:
    build: .
    environment:
      - DISPLAY=:0
    volumes:
      - /mnt/wslg/.X11-unix:/tmp/.X11-unix

Dockerfile

FROM oven/bun:latest
RUN apt update && apt install -y chromium
RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true bun add puppeteer
CMD ["bun", "-e", "require('puppeteer').launch({ headless: false, args: ['--no-sandbox'] });"]

Enjoy!

alt text

Read more: https://book.jorianwoltjer.com/web/client-side/headless-browsers

Headful puppeteer inside docker using wsl
https://rewhile.github.io/posts/docker-headful-puppeteer-wsl/
Author
rewhile
Published at
2025-07-15