A common question we see on our Discord and in support is how to back up exe.dev VMs. We've built a backup command (and its good friend, the restore command) to facilitate just that.
We decided that the best place to store your backups is in your own S3 bucket. To set up backups, you first set up a WIF integration, granting us access to a bucket in S3. Our documentation walks you through the steps, and I'll let you in on a secret: your coding agent is the best way to follow that documentation. Then run the backup command, and voilà.
Our backup format is the same as Casync / Desync. In short, we take your disk, split it into 1 MB chunks, and hash those. We upload compressed chunks identified by hash to S3 (ignoring the ones that haven't changed), and upload an index of those chunks to represent the backup. A VM with a slow-changing disk might only need to update a few chunks at every backup iteration, which makes these backups incremental. Furthermore, because the format is open source, you can use existing tools to reconstruct your disk elsewhere, or even mount it in a lazy FUSE file system.
Documentation at exe.dev/docs/vm-backups. Give it a try!
