State that survives a docker compose down is one of those things you don't think about, until your test suite needs it, your local dev needs it, and your CI pipeline absolutely doesn't. LocalStack handles persistence with one switch (PERSISTENCE=1) and it's a Pro-only feature. Floci ships four storage modes, all free, all in core, with per-service overrides. Pick the right tradeoff for the job.
There's a moment every developer knows. You need to generate a PDF. It looks simple. You've done harder things. Three hours later, you're reading a Stack Overflow thread from 2016 that ends with "works on my machine." This post is about that moment — the actual options, what breaks in each, and where I landed after years of hitting this in production. It uses a stripped-down WebKit engine and conv