Skip to content

Browserless v2 Docker Image Timeout on Raspberry Pi 5 #4946

@RichardBosworth

Description

@RichardBosworth

Describe the bug

When running the ghcr.io/browserless/chromium (v2) Docker image on a Raspberry Pi 5, any request to an API endpoint (e.g., /content) results in a timeout after approximately 30 seconds. The process appears to stall during the "Launching ChromiumCDP Handler" phase and never completes the request.

This issue is specific to the v2 image on this hardware. The older browserless/chrome (v1) image runs without any issues on the same device with the same configuration.

To Reproduce

Steps to reproduce the behavior:

On a Raspberry Pi 5 running Raspberry Pi OS (64-bit), create a docker-compose.yml file with the following content:

version: '3'
services:
 browser:
   image: ghcr.io/browserless/chromium # This is the v2 image that fails
   restart: always
   environment:
     - "TOKEN=example"
     - "HOST=0.0.0.0"
     - "TIMEOUT=60000"
   ports:
     - "3000:3000"

Run docker-compose up -d to start the container.

Execute a curl request to the /content endpoint to fetch a simple page:

curl -X POST \
 -H "Content-Type: application/json" \
 -d '{"url": "https://www.example.com"}' \
 "http://localhost:3000/content?token=example"

Observe that the request hangs and eventually times out. The container logs show the process is blocked after launching the handler.
Log Output:

Launching ChromiumCDP Handler
browserless.io:limiter:info  (Running: 1, Pending: 0) Starting new job  +0ms
 browserless.io:ChromiumScrapePostRoute:info 172.19.0.2 Starting new ChromiumCDP instance +0ms
 browserless.io:ChromiumScrapePostRoute:info 172.19.0.2 ChromiumCDP got open port 43445 +1ms
 browserless.io:ChromiumScrapePostRoute:info 172.19.0.2 {
   args: [
     '--remote-debugging-port=43445',
     '--no-sandbox',
     '--user-data-dir=/tmp/browserless-data-dirs/browserless-data-dir-11589b6c-1695-40d9-b383-39f4c27cdf64',
     '--load-extension=/usr/src/app/extensions/ublocklite',
     '--disable-extensions-except=/usr/src/app/extensions/ublocklite'
   ],
   executablePath: '/usr/local/bin/playwright-browsers/chromium-1187/chrome-linux/chrome'
 } Launching ChromiumCDP Handler +0ms

Expected behavior

The /content API should successfully load example.com and return its HTML content, just as it does with the browserless/chrome v1 image. The request should not time out.

Screenshots

N/A

Desktop (please complete the following information):

OS: Raspberry Pi OS (64-bit)
Device: Raspberry Pi 5 (booting from SSD)
Smartphone (please complete the following information):

N/A

Additional context

The key issue appears to be an incompatibility with the v2 image (ghcr.io/browserless/chromium) and the Raspberry Pi 5 (ARM64) architecture, as the v1 image (browserless/chrome) works perfectly. Setting a longer TIMEOUT environment variable does not resolve the issue; the process still hangs at the same step.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions