Cache as a cost dial
Every response declares one of four modes — immutable, ttl, revalidate, no-cache — and that choice is a slider between “free at the edge” and “fresh from origin.”
freeloadr is a self-hostable function-and-content platform where every response picks its own spot on a four-mode cache spectrum — so Cloudflare’s free edge serves the traffic and your cheap home box barely notices.
No ads · No logins · No cost · No trapsEvery response declares one mode. That single choice slides between free at the edge and fresh from origin.
Static content isn’t a separate product — it’s just the far, most-cacheable end of the same spectrum your dynamic functions live on.
Every response declares one of four modes — immutable, ttl, revalidate, no-cache — and that choice is a slider between “free at the edge” and “fresh from origin.”
Functions, CDN, database, and static hosting run from a single Go engine in one container — a mini-AWS you can hold in your head.
Push work toward immutable and Cloudflare serves millions of requests for free; your box only sees the cache misses.
A Cloudflare Tunnel reaches the engine outbound-only, so your origin stays hidden with nothing forwarded and nothing exposed.
A CDN caches what you hand it; a serverless platform runs your code and bills you per call.
freeloadr is both, unified by one idea: a single cache grammar that every function
response and page render speaks, writing Cache-Control and
CDN-Cache-Control from the same emitter so the engine, the browser, and
Cloudflare’s edge never disagree. Static content isn’t a separate product —
it’s just the far, most-cacheable end of the same spectrum your dynamic functions live on.
docker compose up runs the whole platform.
Cache-Control (browser) and CDN-Cache-Control (edge) are written from a single policy, so origin, browser, and Cloudflare agree by construction.