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. The four modes at a glance Mode Survives restart Write behavior Best for memory ❌ Pure RAM CI, unit tests, ephemeral integration tests hybrid ✅ Async flush to disk Local development (the sweet spot) persistent ✅ Sync write on every change "Don't lose my last write" workflows wal ✅ Append-only log + compaction High-throughput durable workloads You set a global default, and override per service when one needs different behavior. That's it.…