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

Imgproxy Php Laravel Package

onliner/imgproxy-php

PHP client for imgproxy that builds signed and unsigned image URLs through a fluent, chainable API. Supports resizing, cropping, gravity, format conversion, and Laravel integration, letting you serve optimized, secure images from your own imgproxy instance.

Deep Wiki
Context7

Product Decisions This Supports

  • Self-hosted vs. SaaS image pipeline: Supports the decision to run imgproxy (self-hosted, Go-based image processor) rather than paying per-transform/per-delivery to Cloudinary, imgix, or ImageKit. This package handles the PHP-side URL generation and signing layer that makes that choice practical in a Laravel stack.
  • Build vs. buy (narrowly scoped): The URL builder is a thin, MIT-licensed wrapper around imgproxy's documented URL format. It answers the "do we write our own HMAC URL signer or take a dependency?" question — relevant when the answer is "we shouldn't be spending engineering weeks on URL signing."
  • Feature: on-the-fly image transformation delivery. Enables responsive srcset generation, resize/crop/format conversion (WebP/AVIF), quality tuning, and watermarking without building a media-processing service or writing files to disk at upload time.
  • Security roadmap: Signed URLs (HMAC with key/salt) prevent arbitrary resize/crop parameter abuse — a real cost and DoS vector when unsigned image transform endpoints are exposed to the public. This is a security-enabling decision, not just a convenience.
  • CDN / caching strategy: Because imgproxy URLs are deterministic and content-addressed by their parameters, they slot cleanly behind a CDN with high cache hit ratios. This informs the CDN vendor and caching-layer decisions.
  • Use cases this unblocks: e-commerce product thumbnails and zoom views, marketplace/user-uploaded content, CMS media libraries, avatar pipelines, and multi-tenant SaaS where per-tenant signature keys and path prefixes matter.
  • Roadmap sequencing: Appropriate for teams already committed to imgproxy or planning to migrate. It is a delivery-layer enabler, not a standalone product capability — don't schedule it as a headliner.

When to Consider This Package

Consider it when:

  • You are on PHP/Laravel and have selected, or are seriously evaluating, self-hosted imgproxy as your image processing backend.
  • You need signed URLs and would otherwise hand-roll HMAC signing — the failure mode there is subtle and security-sensitive.
  • You want flexible path generation (per-environment prefixes, tenant buckets, presets, srcset variants) rather than string concatenation scattered through Blade templates and models.
  • MIT licensing and a small, auditable dependency footprint are acceptable to your security/compliance review.

Look elsewhere when:

  • You are not running imgproxy. This package builds URLs for one specific service; it does nothing on its own.
  • You want the image processing itself. This is not an image library (no Intervention Image, no GD/Imagick).
  • You are on a managed image CDN. Cloudinary/imgix/ImageKit ship their own first-party SDKs with better support and feature coverage — don't wrap a third-party builder around a vendor whose SDK you already pay for.
  • You need enterprise-grade support or a large maintainer community. At ~25 stars this is a low-adoption, effectively single-maintainer package.
  • Your stack is not PHP. Obvious, but worth stating in stakeholder reviews where "there's a package for that" gets repeated uncritically.

Adoption caveats to weigh: low star count means limited real-world battle-testing and a bus-factor of one. Mitigate by pinning the version, wrapping it behind your own small adapter/facade so it's swappable, and keeping in mind that the imgproxy URL spec is public — reimplementing the signer in-house is on the order of a day's work if the package is abandoned. That is the strongest argument for tolerance here: the exit cost is low.

How to Pitch It (Stakeholders)

For executives (the business case):

We're evaluating a small open-source PHP helper that lets us serve optimized, securely signed images from our own infrastructure instead of a per-image SaaS. The upside is cost control — image transformation and delivery is typically priced per transform or per gigabyte, and that bill scales with catalog size and traffic. Self-hosting the processor plus handling URL signing in our app keeps that cost predictable and puts caching behind our existing CDN. The security angle matters too: signed URLs stop the public from asking our servers to generate arbitrary image sizes, which is a quiet but real denial-of-service and compute-cost exposure. The package itself is a thin MIT-licensed utility, low-risk to adopt and cheap to replace if needed — the real commitment is operational (running an image service), which is the decision to focus on.

For engineering (the practical summary):

  • Thin wrapper: builds imgproxy URLs, handles HMAC signing, supports flexible path/preset generation. No runtime dependency on anything but your own imgproxy instance.
  • Pairs naturally with Laravel — a facade/service provider and a config-driven key/salt.
  • Keep it behind our own abstraction layer, pin the version, and write contract tests around URL output. If the maintainer goes quiet, the imgproxy URL format is documented and the signer is a day of work to own.
  • Testable without a live imgproxy instance, which keeps CI simple.
  • Do not adopt unless we've committed to imgproxy; otherwise this is a solution looking for a problem.

Bottom line for the group: this is a small, cheap, easily-reversible enabler for a larger decision — whether to own our image pipeline. Evaluate the pipeline decision first; if that's yes, this is a reasonable way to avoid writing signing code ourselves.

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.
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment