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 Php Api Laravel Package

docker-php/docker-php-api

Generated OpenAPI client for the Docker API, produced with Jane OpenAPI. This package is no longer maintained; use docker-php instead. It does not follow semver—versions track Jane and Docker API versions, so pin the first three numbers.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture Fit

  • Re-assessment Required, Recommendation Unchanged: The prior assessment characterized this package as abandoned with no support for Docker API beyond v1.45. Release v7.1.56.3 contradicts the second claim: the 7.1.56.x line explicitly targets Docker Engine API v1.56, well beyond the previously cited baseline. The package should be reclassified from abandoned to "maintained at low cadence" — still not the preferred choice, but for different reasons than previously stated.
  • Substance of This Release: None: v7.1.56.3 is a chore-only release — removal of funding links from composer.json and the repository. The release notes confirm "the generated code and dependency constraints are the same as 7.1.56.2." All functional value (API v1.56 targeting) landed in 7.1.56.2, not here. Treat 7.1.56.3 as a hygiene/no-op pin bump, not a capability upgrade.
  • Versioning Scheme is Now Understood — Correct the Prior Critique: The previous "versioning chaos" finding was wrong. The scheme 7.1.<dockerApiMinor>.<patch> maps directly onto the Docker Engine API minor version, and the maintainers publish an explicit constraint window (>=7.1.56.0 <7.1.57.0). This is a deliberate and defensible convention, not arbitrary. The real constraint is different: you must pin within an API line, and crossing API lines is a deliberate, tested upgrade, not a patch bump.
  • Laravel Relevance: Unchanged. This remains a generated OpenAPI client with no Laravel surface — no service provider, no facade, no config publishing, no queue/event hooks. The absence of Laravel idioms is the dominant integration cost, not the code's age.
  • Residual Architectural Risk:
    • Deprecation notice status is unverified: The release cadence proves the repo is alive, but does not prove the upstream deprecation-in-favor-of-docker-php/docker notice has been withdrawn. This is now the single most important open question.
    • Generated-code quality: Jane-generated clients still lack connection pooling, retry semantics, and async support relative to docker-php/docker.
    • Maintenance cadence is release-driven, not issue-driven: Evidence of chore commits and regenerated specs is not evidence of responsive triage on bug reports.

Integration Feasibility

  • Still Low, But No Longer Disqualified: Integration is technically viable — pinned to >=7.1.56.0 <7.1.57.0 it targets a current Docker Engine API and will not silently drift. The blocker is fit, not viability: you would be adopting an unopinionated generated client into a framework that expects opinionated bindings, and writing the Laravel glue yourself.
  • Alternatives (Ranked):
    1. docker-php/docker — still the default recommendation for a full SDK surface; verify its current API-version coverage, since this release suggests docker-php/docker-php-api may now be ahead on API v1.56 support.
    2. Laravel HTTP client against the Docker socket — for narrow use cases (a handful of endpoints), a thin typed wrapper over Illuminate\Support\Facades\Http is lower total cost than either SDK and gives you native retries, logging, and test fakes.
    3. symfony/process / Laravel Process — for CLI-shaped operations; no generated-code surface to audit.
    4. This package — justified only if you need broad, generated, type-safe coverage of Docker API v1.56 and are prepared to own the Laravel integration layer.
  • Migration Overhead: Still low in either direction, but the namespace/method-signature differences between this package and docker-php/docker should be validated by spike rather than assumed — the prior assessment's "trivial" characterization was asserted, not tested.

Technical Risk

Risk Area Severity Change vs. Prior Mitigation
Deprecation / upstream direction High Downgraded from Critical Confirm README/upstream notice status before adopting; treat as unresolved
API drift Low Downgraded from High API v1.56 target + documented constraint window; pin >=7.1.56.0 <7.1.57.0
Security patches Medium Downgraded from High Active regeneration cadence implies reachable fixes; still verify advisory response history
Versioning / CI-CD Low Downgraded from Medium Scheme is API-aligned and documented; enforce the window in composer.json and CI
Dependency bloat (Jane generator) Medium Unchanged Audit transitive tree; roave/security-advisories in CI
Missing Laravel idioms Medium Newly promoted Budget for your own service provider, config, and test doubles
Release quality signal Medium New Chore-only releases inflate version count; do not read cadence as responsiveness

Key Questions for TPM

  1. Has the deprecation notice been withdrawn? The 7.1.56.x line proves activity; it does not prove the upstream "use docker-php/docker instead" guidance is gone. This single answer flips the recommendation.
  2. Which consumer actually needs API v1.56? The prior assessment cited v1.45+ as the requirement. If nobody needs the newer surface, the whole reason to reconsider this package evaporates.
  3. Is docker-php/docker still current on API versions? If the official SDK lags at v1.45–v1.48 while this package is at v1.56, the prior "just use the official SDK" advice needs qualification — the maintained option may now be the less current one.
  4. Who owns the Laravel integration layer? Adopting this package means owning a service provider, config, connection handling, and test fakes. Is that budgeted, or is it hidden cost?
  5. What is the API-line upgrade policy? Pinning >=7.1.56.0 <7.1.57.0 is correct, but it means Docker Engine upgrades require a coordinated package bump. Who owns that cadence, and how much lead time is needed?

Integration Approach

Stack Fit

  • Framework-Agnostic by Design: No service provider, facade, config, or Eloquent integration. Fit into Laravel is build-your-own — plan for a DockerServiceProvider, a config file for socket/host/TLS settings, and a binding to the generated client.
  • Constraint Discipline is Mandatory: Encode "docker-php/docker-php-api": ">=7.1.56.0 <7.1.57.0" in composer.json and add a CI check that fails outside the window. Do not use ^ — it would permit an API-line jump the maintainers explicitly warn against.
  • Preferred Alternatives:
    • docker-php/docker — if an opinionated SDK is acceptable.
    • Laravel HTTP client — if your Docker surface is narrow; gives retries, logging, and Http::fake() for free.
    • Process facade — for CLI-shaped operations only.

Migration Path

  1. Verify the premise first (0.5 day): Check the repository README for a deprecation notice as of 7.1.56.3. If it still points to docker-php/docker, stop — the prior recommendation stands.
  2. Establish the API-version requirement (0.5 day): Enumerate the Docker endpoints your application actually calls and confirm whether v1.56 is needed or whether a narrower HTTP wrapper suffices.
  3. Pilot, if and only if justified (2–3 days): Bind the generated client for two or three representative operations (container lifecycle + one network or volume call). Measure ergonomics, error surfaces, and test-fake effort.
  4. Decide on evidence: Pilot effort versus a thin HTTP wrapper is the comparison that matters — not pilot effort versus docker-php/docker.
  5. If adopted, wrap before spreading: Put a narrow internal interface in front of the generated client so a future swap is a one-file change, not a codebase sweep.

Compatibility

Component Compatibility Risk Notes
Docker Engine Low API v1.56 target resolves the prior High rating; verify your daemon's API version is within the supported window.
Laravel Medium No native bindings; you supply provider, config, and fakes.
PHP Version Low–Medium Confirm the floor for the 7.1.56.x line against your runtime matrix.
CI/CD Low Downgraded from Medium — scheme is API-aligned and the constraint window is documented.
docker-php/docker coexistence Medium Do not run both; namespaces and generated clients overlap conceptually and invite accidental cross-use.

Sequencing

  1. Phase 1 — Re-validate the premise (1 day): Deprecation-notice status, docker-php/docker API coverage, and your true API-version requirement. This release changes the facts; re-baseline before any code moves.
  2. Phase 2 — Constraint hygiene (immediate, regardless of decision): If the package is anywhere in the dependency tree, pin to the documented window and add a CI guard. This is pure risk reduction and applies even if you ultimately migrate away.
  3. Phase 3 — Pilot or consolidate (2–3 days): Either pilot the generated client behind a wrapper, or proceed with the thin-HTTP/Laravel-client approach if your surface is narrow.
  4. Phase 4 — Standing policy (ongoing): Subscribe to releases; treat API-line bumps (7.1.56.x → 7.1.57.x) as minor-version migrations requiring test passes, not patch updates.

Operational Impact

Maintenance

  • Moderate, Not High: Downgraded from the prior "High Overhead / no updates" finding. The package tracks Docker API v1.56 and publishes an explicit constraint window, which is more maintenance discipline than the previous assessment credited.
  • But Read the Signal Carefully: v7.1.56.3 is a funding-link removal. High release count is not proof of responsiveness — it is proof the pipeline runs. Judge maintenance on issue triage latency and security-advisory turnaround, neither of which this release evidences.
  • Ongoing Obligations: Track Docker Engine API deprecations yourself (the maintainers regenerate; they do not warn you about your daemon); pin within the API line; run roave/security-advisories in CI.
  • Funding Removal — Practical Note: The package no longer accepts financial support. That is a neutral signal for your risk register but removes the "well-funded upstream" comfort factor; plan on internal ownership rather than upstream SLA.

Support

  • Unchanged and Still Thin: No vendor support; community footprint is small relative to docker-php/docker. Forums and Stack Overflow answers will be sparse — expect to read the Docker API spec directly.
  • Your Wrapper Is the Support Layer: The narrow internal interface recommended above is the actual mitigation. It converts an upstream failure into a bounded re-implementation task rather than an outage.
  • Fallbacks: Raw Docker socket calls via Illuminate\Support\Facades\Http, or Process/symfony/process for CLI-shaped operations. Both are viable and require no third-party client.

Scaling

  • No Async or Pooling: The generated client does not offer the async/concurrent request handling available in docker-php/docker. Under fan-out (many containers, many hosts) this becomes the binding constraint.
  • Scaling Strategy:
    • Offload Docker interactions to Laravel Queues with bounded worker concurrency to cap connection pressure on the daemon.
    • Introduce retry with exponential backoff at your wrapper layer — the client will not supply it.
    • Use Docker Contexts for multi-host targeting rather than instantiating many clients.
  • Observability Gap: Budget for logging and metrics at the wrapper boundary; the generated client is not instrumented.

Failure Modes

Failure Scenario Impact Mitigation
Deprecation notice still active Adopting a package the maintainers steer you away from Confirm in Phase 1; if still active, do not adopt
Docker API version mismatch Breaking changes in production Pin >=7.1.56.0 <7.1.57.0; CI guard on constraint drift
API-line upgrade forced by Engine upgrade Coordinated migration, not a patch bump Treat 7.1.56.x → 7.1.57.x as a planned minor migration with test gates
Silent constraint drift (^ operator) Unintended API-line jump Ban ^ for this package; enforce window in composer.json and CI
No Laravel integration surface Glue code rots unowned Assign explicit ownership; wrap behind an internal interface
Upstream slows or stops No security fixes on a new timeline Wrapper enables swap to HTTP client or docker-php/docker in one file
Network timeouts to daemon Operations hang Retries with backoff at the wrapper layer

Ramp-Up

  • Learning Curve:
    • Moderate for this package: Docker API literacy is required, plus you absorb the missing Laravel idioms yourself. The API-line versioning convention must be taught explicitly — engineers will otherwise reach for ^.
    • Low for the HTTP-wrapper alternative: Familiar Laravel primitives, existing test fakes, no generated-code surface to learn.
  • Onboarding Steps:
    1. Versioning primer: Document that 7.1.<apiMinor>.<patch> mirrors the Docker Engine API and that the constraint window is not negotiable.
    2. Wrapper walkthrough: The internal interface is the only surface new engineers touch; the generated client stays behind it.
    3. API-version mapping: Maintain a short table of supported Docker Engine versions so daemon upgrades are never a surprise.
  • Training Needs:
    • Devs: Docker API semantics (container lifecycle, networks, volumes) and Http::fake()-style testing for socket-based calls.
    • Ops: Docker daemon socket permissions, TLS, and resource limits — unchanged from prior, and still the most common source of production incidents.
    • Everyone: The distinction between a patch release (7.1.56.2 → 7.1.56.3, safe) and an API-line bump (7.1.56.x → 7.1.57.x, requires migration testing).
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.
labyrinthe/connect-php
encore2/laravel-admin2
cboxdk/laravel-console-kit
shapecode/doctrine-dbal-datetimeutc
gilads-otiannoh254/inertia-protocol
dakiquang/laravel-oauth-refresh-lock
woda/laravel-worktrees
dalefranks/ramasite
faghy/laracashbook
roundly-consulting/google-places-for-laravel
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
adachsoft/cli-process-tester
adachsoft/changelog-linter
adachsoft/collection
adachsoft/php-code-style
adachsoft/api-version-bundle