PHPackages                             pwaldhauer/browsershot-aio - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. pwaldhauer/browsershot-aio

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

pwaldhauer/browsershot-aio
==========================

All in one Docker Container to run Browsershot

v0.1(2y ago)7101MITJavaScriptPHP ^8.0

Since Jun 8Pushed 2y ago2 watchersCompare

[ Source](https://github.com/pwaldhauer/browsershot-aio)[ Packagist](https://packagist.org/packages/pwaldhauer/browsershot-aio)[ RSS](/packages/pwaldhauer-browsershot-aio/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Browsershot All in One (everything here is still WIP)
=====================================================

[](#browsershot-all-in-one-everything-here-is-still-wip)

This is a combinaton of two things:

- A Docker image based on [alpine-chrome](https://github.com/Zenika/alpine-chrome) including a simple Express server that executes the command generated by the [Browsershot library by Spatie](https://github.com/spatie/browsershot)
- A simple PHP wrapper that extends the original Browsershot library with the code to call the Express server instead of using node to call Puppeteer

Why?
----

[](#why)

- I do not want to include Node and Puppeteer in my main PHP application image
- I do not want to mess with all the hassle of using `remoteInstance`
- I do not want to use Lambda functions using the wonderful [sidecar-browsershot library](https://github.com/stefanzweifel/sidecar-browsershot) (Instead I was heavily influenced by it.)

Caution
-------

[](#caution)

It may very well be that half of the functions of Browsershot do not work. I just tested simple pdf generation. Also the Express server has no authentication. I won't recommend using this in a production environment.

Running
-------

[](#running)

For more information please [see the README of alpine-chrome](https://github.com/Zenika/alpine-chrome)

```
docker container run -p 3000:3000 -it --rm --cap-add=SYS_ADMIN ghcr.io/pwaldhauer/browsershot-aio
```

Or use something like that in a docker-compose.yml:

```
  chrome:
    image: ghcr.io/pwaldhauer/browsershot-aio
    restart: unless-stopped
    cap_add:
      - SYS_ADMIN
```

Using in PHP
------------

[](#using-in-php)

Use it like you would use `Browsershot` but replace it with `BrowsershotAio`. Be sure to set the url to the express server:

```
use pwaio\BrowsershotAio\BrowsershotAio;

BrowsershotAio::setEndpoint('http://chrome:3000');

// if you do not want to create a shared volume for your containers
$data = BrowsershotAio::url('https://example.com')->base64Screenshot();

// an image will be saved (needs a shared volume)
BrowsershotAio::url('https://example.com')->save($pathToImage);

// a pdf will be saved (needs a shared volume)
BrowsershotAio::url('https://example.com')->save('example.pdf');
```

License
-------

[](#license)

MIT

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1067d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a407de86b0ca559693c8754eed381a45c8eb98f96ce3d459c48780fddcbdda1d?d=identicon)[pwaldhauer](/maintainers/pwaldhauer)

---

Tags

laraveldockerbrowsershot

### Embed Badge

![Health badge](/badges/pwaldhauer-browsershot-aio/health.svg)

```
[![Health](https://phpackages.com/badges/pwaldhauer-browsershot-aio/health.svg)](https://phpackages.com/packages/pwaldhauer-browsershot-aio)
```

###  Alternatives

[neo/little-sail

Smaller Alpine based image for Laravel Sail runtimes

389.0k](/packages/neo-little-sail)[downtoworld/laravel-devops

Laravel Cloudflare-Tunnels Ready Production Docker-Compose

161.1k](/packages/downtoworld-laravel-devops)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
