La Boétie

Images: self hosted image CDN

Images is the self hosted image CDN La Boétie runs in house in place of a paid image CDN. It renders 32 presets on the fly and caches the results at the edge. The service delivers images for studio and client sites and has no public offer.

32 transform presets served through a global cache

Status
Live
Access
In house

Images capabilities

How image delivery works

A browser requests an image in one size, and a global cache answers when it holds that version. The first view renders it, and later views are served from the cache.

32 image transform presets

A fixed set of 32 presets covers widths from small to 4K, thumbnails, cards, portraits, avatars, social sharing images, logos and animations.

Public and private images

Public images accept only the allowed sizes. Private images need a signed address that expires.

Cache purge and monitoring

Because bytes at an asset key stay immutable, the edge cache holds public variants for one year. A replaced image becomes a new asset. Deleting an asset purges all its variant URLs. A monitor runs every five minutes with a full chain canary and raises alerts.

Migrating images off a paid CDN

Resumable migration tooling moved 1,211 product images and 1,377 article images for one client as of 13 July 2026. A manifest and a playbook for each consuming site guide the move.

How La Boétie uses Images

La Boétie runs Images as shared infrastructure for its sites and offers no signup or public access. The repository holds deployment configuration and migration scripts around imgproxy, Cloudflare and R2. A team that wants to replace a CDN bill can send a brief.

On this page

What an image CDN does

An image CDN stores one original image and delivers the size and format each visitor needs. CDN stands for content delivery network: servers around the world that keep copies close to your visitors.

Without one, a site ships a 4,000 pixel photo to a phone, or a developer exports ten sizes by hand. With one, the page asks for a width, and the service renders and caches that version on the first request.

Images usually make up a large share of a page's weight, and the main image is often the element Google measures for Largest Contentful Paint, its loading speed signal. Delivery has a direct effect on how fast a page feels.

The stack

Images is the delivery platform La Boétie runs for studio and client sites. It uses open source rendering, object storage and a global edge cache. The first view of a size is rendered once, and later views come from a location close to the visitor. Uploads take a separate path, so delivery keeps running if that path fails.

Named sizes and responsive images

Most image services accept any width in the URL. That convenience invites abuse, since an attacker can request endless sizes and force endless renders. This platform allows a fixed set of 32 named sizes and crops, which also raises the share of requests served from cache.

Whichever service you use, serve the right size with srcset.

<img
  src="/image-640.webp"
  srcset="/image-640.webp 640w, /image-1280.webp 1280w, /image-1920.webp 1920w"
  sizes="(max-width: 768px) 100vw, 640px"
  width="640"
  height="360"
  loading="lazy"
  alt="A renovated kitchen in Lyon"
/>

Set width and height so the page does not jump while images load. Skip loading="lazy" on the main image of a page, since it delays the element Google measures.

Public and private images

Public images, such as product photos, are open to any visitor and accept only the allowed sizes. Private images, such as documents and member content, need a signed address that expires.

Migrating off a paid image CDN

A site can hold image URLs in structured fields, Markdown bodies, templates and generated content, so a migration needs an inventory first. Each image and each reference must be accounted for, a failed step must be safe to retry, and the switch must be reversible. Old URLs keep rendering during the move. For one client, 1,211 product images and 1,377 article images had moved by 13 July 2026.

Before cutover, check your Content Security Policy: the new host needs to appear in img-src.

What running one involves

TaskFrequency
Update and test the rendererWhen a new version ships
Rotate storage and signing keysOn your schedule
Read alertsAs they arrive
Watch storage and cache costsMonthly

If nobody on your team would answer an alert, stay with a paid service.

Image formats compared

FormatBest forNote
JPEGPhotos, wide compatibilityNo transparency
PNGLogos and sharp graphicsLarge for photos
WebPMost web imagesSmaller than JPEG at similar quality
AVIFPhotos at small sizesSlower to encode
SVGIcons and simple logosSanitise files from outside sources

Images and page speed

Google rates Largest Contentful Paint as good at 2.5 seconds or less, and the main image often sets that time.

MistakeEffectFix
Huge originals on small screensSlow pagesServe sizes that match the layout
Lazy loading the main imageA later LCPLoad it right away, with high priority
No dimensionsThe page jumpsSet width and height
Image in a CSS backgroundFound late by the browserUse an img element, or preload it
Images from many hostsExtra connectionsServe from one host

How to estimate your costs

Work out these numbers from your current invoice and analytics.

InputWhere to find it
Stored originalsYour media library
Monthly image viewsAnalytics or the CDN report
Average delivered sizeBrowser network panel
Share served from cacheThe CDN report
Hours of upkeepYour own estimate

Compare that total with your current invoice. Below a certain volume, a paid service costs less than the time spent running your own.

Images and search

Use descriptive file names and accurate alt text, since search engines and screen readers rely on both. Keep important images in the page's HTML, and add them to your sitemap if image search matters to you. Alt text should describe the picture in plain words.

Next step

Send a brief with your monthly image volume and your current invoice. The studio can build the same setup for you, or tell you to keep your paid service if that costs less. SocialForge holds the media API that feeds this platform.

Frequently asked questions

What is a self hosted image CDN?

A self hosted image CDN is an image delivery stack you run yourself: storage for originals, a renderer that resizes on the fly and an edge cache. Images uses Cloudflare R2 for originals, two imgproxy containers for rendering and Cloudflare for caching. Each URL names an asset and one of 32 presets, and imgproxy renders any variant missing from the cache.

Does a self hosted image CDN have a global cache?

Yes, when a CDN sits in front of the renderer. Images keeps a global cache in front of its renderer.

Which image formats do the presets output?

Most of the 32 presets output WebP. They include the width ladder from 64 to 3840 pixels and the crops for thumbnails, cards, portraits and avatars. The social sharing preset outputs JPG at 1200 by 630 pixels, the two logo presets output PNG and one preset returns the original file. No preset outputs AVIF today.

How are private images protected?

Private images need a signed address with an expiry date.

What does running your own image CDN involve?

You operate the containers, the storage tokens, the cache rules and the monitoring yourself. For this work Images has a deploy script, written runbooks for new consumers and preset changes and a five minute monitor with a full chain canary. Here the separate control plane for uploads and deletion is SocialForge.

How do you migrate images off a paid image CDN?

Images uses resumable migration tooling, so a stopped run continues where it ended. The move uses a manifest and one playbook per consuming site. As of 13 July 2026, the tooling had moved 1,211 product images and 1,377 article images for one client. New uploads then go through SocialForge and reach the same storage bucket.

Can I buy Images or use it on my site?

Images has no public offer. La Boétie runs it as in house infrastructure for its own needs and for the sites it works on. It has no signup, plan or price. If your image bill or delivery setup needs work, send a brief from this page, and the studio will reply from there.