Hey, I love this example and I've been exploring exactly the same thing!
Something that has me confused, is whether the data will be kept across reboots and instances.
For example, if you have a database receiving POSTs and PUTs, what happens if another instance is spun up in another region, Fly decide to swap VMs, or it needs to be rebooted - won't it be pulling from the raw image/container and therefore lose all of the changes/data?
I've noticed Persistent Storage mentioned, but I'm not sure if it that would solve things and I'm struggling to point FastAPI's database to a mounted volume on Fly. Have you noticed any discrepancies with data?