eloquage/docker-php
Docker PHP offers a streamlined containerized PHP setup for Laravel and other PHP applications. It bundles sensible Docker configuration for PHP-FPM, web server, database, and cache services, making local development and deployment easier with minimal setup and straightforward customization.
Correction to the prior assessment — the package is not a runtime-image provider. Release 1.1.1 makes the actual surface area legible: a Saloon-based Docker client, a publishable config file, and 16 registered dashboard routes. This is an in-app Docker management/observability surface for Laravel, not a base-image or Dockerfile contract. That distinction invalidates the "replace our bespoke image pipeline" framing from the 1.1.0 review and should be corrected in any roadmap artifact that cited it. The build-vs-buy question it actually answers is: do we build an internal container-ops console, or install one?
Internal tooling vs. product surface area. If the roadmap includes an ops/admin capability — container status, service health, restart/inspect actions for the team — this package is a candidate to satisfy it at near-zero build cost. If no such capability exists on the roadmap, this package has no consumer, and the decision is simply "not now" rather than "assess further."
Roadmap sequencing for internal platforms. Adopting shifts work from "build a dashboard" to "integrate a dashboard": authentication, authorization, and network exposure of 16 admin routes become the real project. That is a smaller but non-trivial effort, and it should be scoped before the package is added to a sprint, not after.
Risk register entry — version-floor discipline. 1.1.1 raises the PHP requirement to 8.3 and moves to Saloon 4, while shipping as a patch. Whatever the project's semver intent, the observable behavior is that dependency-major and platform-floor changes can arrive on any digit. For PM planning this means: pin exact versions, treat every bump as reviewable, and do not budget engineering time on the assumption that patch releases are free.
Delivery confidence — the verification gap. The release notes state Docker daemon-backed operations were not run; the 51 passing tests use mocked responses, and there are 6 deprecation notices in the existing suite. Mocked-only coverage on a package whose entire value is talking to a live daemon is the single most important fact in this release. It does not make the package unusable, but it means our validation must include a real-daemon smoke test in a non-production environment before anything depends on it.
Open item carried forward, plus a new one. The 1.1.0 changelog pointer was never resolved into a diff review; 1.1.1 now supersedes it, so review the combined 1.1.0→1.1.1 range. New open item: confirm which of the 16 routes are read-only versus mutating, since a dashboard that can stop containers is a different security review than one that lists them.
Reasonable fit when:
Look elsewhere when:
Gate before adoption: confirm the package's supported PHP and Laravel matrix and its support-window policy (now materially uncertain given a patch-level floor raise); confirm whether read and write daemon operations are separable and can be disabled; and confirm the license and registry/distribution path. Run one real-daemon operation end-to-end in staging.
For executives (one minute): A correction first — this package is not the container-standardization tool the earlier brief described. It is a small Laravel add-on that adds an internal Docker status dashboard. The new 1.1.1 release requires PHP 8.3 and upgrades a major dependency, which arrived as a patch version. My recommendation is to treat adoption as optional and conditional: it is cheap to try, it addresses an internal-tooling want rather than a customer-facing need, and it should not be scheduled until we have confirmed our PHP floor and run it once against a real Docker daemon. No roadmap commitment is implied by this release.
For engineering leadership: Two substantive changes, both risks rather than features. First, the PHP floor moves to 8.3 and the HTTP client moves to Saloon 4 — under a patch tag. Our CI matrix and any pinned deployment tags are affected, and it means we should pin exact versions and review every diff, not just minor and major ones. Second, the release notes are explicit that daemon-backed operations were not executed; verification is mocked, with 6 deprecation notices outstanding. For a package whose value is live daemon interaction, that is the gap I need closed before we depend on it. I also need to know which of the 16 registered routes mutate state. The 1.1.0 changelog review I flagged previously is now superseded — please review the 1.1.1 diff rather than re-opening 1.1.0.
For the team, in practice: Pin exactly, never latest. Before adopting, write a single integration test that lists containers against a real daemon in a sandbox, and put every mutating route behind admin middleware and an internal-only network boundary. Bring the 1.1.1 diff and that test result to the next platform sync so the decision closes as "adopt for internal ops dashboard" or "decline, no consumer on the roadmap" — both are fine outcomes; leaving it open is not.
How can I help you explore Laravel packages today?