jorisnoo/statamic-imageboss
A Statamic addon that integrates ImageBoss for on-the-fly image resizing and optimization. Generate responsive, compressed image URLs in your Antlers templates and serve them through ImageBoss's processing service, without building or maintaining your own image pipeline.
ImageBoss is an image CDN/processing service; this addon wires Statamic assets into it so your templates emit CDN URLs instead of generating Glide derivatives on your own server. The 0.4.0 line is the first one worth adopting broadly, but it raises the floor.
composer require jorisnoo/statamic-imagebossconfig/statamic/) and set the ImageBoss token and source/bucket name via env. Note the 0.4.0 rename: what was previously secret is now token. Update both the published config and any .env keys, and search your deployment secrets for the old name — a stale value won't error, it will just produce unsigned URLs.ImageBossBuilder class in src/ (the URL-building seam), and the Pest test suite, which is the most precise documentation of the expected URL shape.Define presets in config, not templates. The common failure mode with image CDNs is scattering width="600" height="400" across forty Antlers files. Name your sizes once (card, hero, thumb) in the addon config and reference the preset from templates. When design changes a ratio, you edit one file and the purge story stays simple.
Treat focal points as content, not code. 0.4.0 defaults focal points to center. That's a sane fallback, but for portrait and product photography a center crop frequently decapitates the subject. Statamic's per-asset focal point field is the right lever — brief editors to set it on hero imagery rather than hardcoding crop offsets in templates.
Let animation pass through. The new animation support matters for GIF/WebP assets that would otherwise be flattened to a single frame by an aggressive transform. Keep animated assets on a preset that doesn't force a static format, and confirm the output actually animates rather than trusting the flag.
Lean on automatic purge-on-reupload, but verify its edges. 0.4.0 purges ImageBoss cache when an asset is reuploaded. That covers the editor workflow (replace the photo, see the new photo). It does not necessarily cover assets replaced via the API, moved between containers, or reimported by a sync job. For those paths, trigger a purge explicitly in your own asset-saved listener.
Keep signing server-side. The token signs URLs; never expose it to the frontend. Generate URLs through the addon so signature parameters are always present and correctly ordered.
Make local dev explicit. Either point local at a separate ImageBoss source, or short-circuit to Glide in local so you don't burn quota and can develop offline. A config-driven switch beats a if (app()->isLocal()) scattered through templates.
Don't forget the plumbing. Add the ImageBoss host to your img-src CSP directive, and emit srcset/sizes from your presets so you get the responsive payoff rather than a single oversized CDN hit.
secret → token rename is the upgrade trap. It's a config/env key rename with no runtime warning. Signed-URL enforcement will start rejecting requests, or signatures will be omitted entirely, and the failure looks like a CDN problem rather than a config problem. Grep your repo, your .env.example, and your secret manager.composer update on a legacy app quietly keeps you on 0.3.x. Check composer show jorisnoo/statamic-imageboss after updating and confirm you got the version you think you did.ImageBossBuilder is your extension point. The 0.4.0 test refactor extracts mock helpers around this class, which signals it's the intended seam. If you need custom URL composition (signed URLs for a non-Statamic source, custom query params), extend there rather than concatenating strings in Antlers.How can I help you explore Laravel packages today?