Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Docker Nginx Php Laravel Laravel Package

systemsdk/docker-nginx-php-laravel

A ready-to-use Docker environment for Laravel development, bundling Nginx, PHP-FPM, MySQL, Redis, and common tooling. Spin up isolated, reproducible stacks with configurable PHP versions and simple Docker Compose commands for local development and CI.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Framing correction. This is not a Composer package in the sense the supplied artifacts assume. systemsdk/docker-nginx-php-laravel is a Docker Compose reference environment — Nginx, PHP-FPM, MySQL, Redis, MailHog, Xdebug, queue and cron workers — distributed as a repository. Nothing enters the application's dependency graph. Adoption is a copy/fork/submodule, which means the team takes ownership of a small infrastructure codebase rather than consuming a versioned, upgradable artifact. Every downstream conclusion follows from that distinction.

Input defect to flag. The provided assessment-tpm.md and assessment-laravel_dev.md describe a service-provider/facade library (composer require, vendor:publish, illuminate/* constraints, config:cache gotchas). None of that is applicable here. Those artifacts should be discarded for this decision, and the composite score (20.8) should be read as a generic-library rubric applied to an infrastructure repo — not as evidence about this package's quality.

Architecture fit. Strong for Laravel teams without dedicated DevOps headcount who want a production-shaped local stack (Nginx + PHP-FPM rather than artisan serve), with queue/cron/MailHog pre-wired. Weak where the org already standardizes on Laravel Sail or a platform team's container baseline — running two local-stack standards is a real, recurring cost. The bundle's differentiators over Sail are multi-PHP-version support, MailHog, and supervisor-managed workers; confirm you actually need them before choosing third-party over first-party.

Integration feasibility. High for local dev and CI; medium for an existing app. The work is reconciliation, not installation: exact PHP minor and extension set (intl, bcmath, gd/imagick, pdo_mysql, zip), MySQL major version versus production, Node/asset-build toolchain, UID/GID mapping for bind mounts, and host architecture (Apple Silicon vs amd64) for any image not published multi-arch. Budget 1–3 engineer-days for a pilot plus CI wiring; assume 5+ if the app carries anything unusual (Oracle/SQL Server drivers, Imagick, FFmpeg, Octane).

Technical risk. Medium, and ownership-shaped rather than code-shaped.

  • Fork divergence. Upstream ships regularly; the team's fork accrues local commits. Every upstream pull is a merge, not a version bump. Without a documented rebase ritual this decays within two quarters.
  • Base-image patching. If nginx:, php:*-fpm, and mysql: tags float, dev environments silently drift and CVE remediation belongs to nobody; if pinned, someone must own a bump cadence.
  • Dev/prod parity illusion. "Production-like" is a claim, not a guarantee. Different php.ini, opcache settings, worker topology, and DB minor will surface at release time, not during development.
  • Scope creep into production. Compose is single-host with no orchestration. State that boundary explicitly in the README or someone will propose it for prod.
  • Governance. 347 stars, MIT, apparent single-maintainer concentration, last release 2026-07-27. Verify bus factor and issue responsiveness before making it a team standard.

Key questions.

  1. Is the target scope local dev only, dev + CI, or does anyone expect production deployment? (Default to dev + CI.)
  2. Are versioned images published to a registry, or is it build-from-source only? This determines pinning strategy and patch cadence.
  3. What is the supported PHP × Laravel matrix, and how quickly are new PHP minors added?
  4. How does the maintainer intend upstream to be consumed — fork, submodule, or vendored copy — and what is the recommended upgrade path?
  5. Concrete comparison against Laravel Sail: which of this stack's extras do we actually need?
  6. Is there Octane/Swoole/RoadRunner support, and are arm64 images available?
  7. Who is the named internal owner, and what is our patch SLA for base images?

Integration Approach

Stack fit. Assumes Docker Engine/Desktop + Compose v2 on every developer machine and on CI runners (DinD or socket-mounted). The Laravel app lives in an app directory bind-mounted into the PHP-FPM container; Nginx serves it. No application code changes. Fits teams of roughly 3–20 Laravel engineers without a platform function far better than hand-rolled per-machine setups.

Migration path.

  1. Pilot on one representative existing repo — the one with the largest extension surface, not the greenfield one. Nothing merges until php artisan test passes in-container.
  2. Diff the container baseline (php -v, php -m, composer check-platform-reqs) against the current app requirements; add missing extensions to the Dockerfile, never to individual machines.
  3. Reconcile MySQL and Redis majors with production. Downgrade the dev stack rather than upgrading prod.
  4. Vendor the compose file, Dockerfile, and .env.example into the app repo tracked against an upstream remote (or a submodule). Never a bare copy without provenance.
  5. Rewrite the onboarding README to a single command, and delete any "install PHP locally" instructions — that is the entire point.
  6. Add a CI job that uses the same image. This is the highest-value and most frequently skipped step.
  7. Only then template it for the remaining repos.

Compatibility. Verify PHP/Laravel bounds, MySQL major, host architecture, and port collisions — 3306, 6379, and 8025 are common local offenders and should be parameterized through .env. Split Xdebug behind a separate Compose profile; left on, it costs 2–5× in request latency and generates "this stack is slow" reports.

Sequencing. Do this before a hiring wave or onboarding cohort, where the ROI concentrates. Do not run it concurrently with a framework upgrade or any change that moves the PHP version — you will be debugging two variables at once. Pin a specific upstream tag; never track main. Defer until in-flight build or deploy tooling changes land.

Rollback. Trivial and complete. There is no runtime dependency: remove the vendored directory, revert CI config, and developers fall back to their prior local setup.

Operational Impact

Maintenance. The dominant cost, and recurring. Three streams: base-image bumps for CVEs (monthly minimum; quarterly is negligence), upstream rebases (roughly once per upstream release), and drift control when engineers customize their own compose files. Assign one named owner and maintain a "how we diverge from upstream" file in-repo. Steady state: 2–4 hours/month plus a half-day per upstream merge.

Support. Net positive on onboarding — measure hours-to-first-successful-artisan-run for new hires before and after. Net negative in that the team now owns infrastructure questions it previously outsourced to "whatever was installed." Expect recurring tickets on volume permissions, port conflicts, and "it's slow" (almost always Xdebug or filesystem-mount settings). Mitigate by writing the troubleshooting section during the pilot, while the failures are fresh.

Scaling. As a dev environment it scales linearly with headcount at near-zero marginal cost; the real constraint is laptop RAM (MySQL + Redis + MailHog + Xdebug runs ~2–3 GB). Ship a lightweight profile. As a production mechanism it does not scale at all — single host, no orchestration, no horizontal worker scaling. That is a different project.

Failure modes, ranked.

  • Dev/prod drift — high likelihood, highest cost; discovered at release, diagnosed slowly. Mitigate by matching PHP/MySQL majors to prod and running CI in the same image.
  • Fork rot — the fork diverges until nobody dares pull upstream; the environment becomes unsupported and unpatchable. Mitigate with a named owner and a documented rebase ritual.
  • Base-image CVE exposure — silent and unbounded; only surfaces the day security asks. Mitigate with pinned digests and a scheduled bump job.
  • Bind-mount UID/GID mismatch — loud and immediate but recurring; storage/ and bootstrap/cache write failures are the classic symptom. Set UID/GID via .env on day one.
  • Port collisions and laptop resource exhaustion — low severity, trivially parameterized.
  • Xdebug left enabled — perceived stack slowness, wasted engineering hours. Solve with a Compose profile.
  • Upstream abandonment — survivable precisely because nothing is in the dependency graph; the vendored copy keeps working, it just stops receiving patches.

Ramp-up. Roughly half a day for a Laravel developer already fluent in Docker; one to two days for those who are not — and those people need real pairing help, not a README. Total pilot cost: 2–4 engineer-days including CI, documentation, and full validation of one repo. Do not roll out org-wide on the strength of a single successful local boot.

Recommendation. Adopt as a dev + CI environment template, piloted on one repo and vendored with tracked upstream provenance, contingent on the image-publishing, PHP-matrix, and ownership answers above. Do not adopt as a production deployment mechanism. Run a short written comparison against Laravel Sail before standardizing, and discard the two pre-supplied assessment artifacts — they evaluate a different kind of artifact and should not inform this decision.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource