title | layout | toc | nav |
---|---|---|---|
Databases & Storage |
docs |
true |
firecracker |
Anything an App VM writes to its root disk is ephemeral: when the VM is redeployed, the root filesystem is rebuilt using its Docker image, deleting any data written to it since it was started up. This is fine for /tmp
files, but most apps need to keep state in a database or another form of persistent storage.
- Fly Volumes - Persistent storage on Fly.io is provided by Fly Volumes, which are slices of SSDs attached to the server your App VM runs on. You can use Volumes on an App directly, or run a separate database App with Volume storage and connect an App to that.
These are projects that we develop and support. They're not managed services; you can deploy them yourself as Fly Apps.
- Fly Postgres - PostgreSQL is a popular relational database. When you deploy an App on Fly.io, we give you the option to launch a Fly Postgres App and attach it to your App. We provide tools for deployment and management; you manage the cluster once it's deployed.
- SQLite & LiteFS - SQLite is a very lightweight file-based database. LiteFS is a distributed filesystem that transparently replicates SQLite databases. You deploy it and you manage it.
- Redis by Upstash - Redis is an in-memory database commonly used for caching. A managed service by Upstash.
If your application calls for a different solution, you can deploy it yourself as an App on Fly.io. These examples can help you get started with other popular storage options.
-
MySQL and MariaDB - MySQL is a popular relational database. MariaDB is a community fork of MySQL and is compatible with MySQL.
-
EdgeDB - EdgeDB is a graph-relational database that runs on top of Postgres.
-
MinIO Object Storage - MinIO is software that allows you to self-host S3-compatible storage.
If you want a fully managed database or storage solution for your Fly Apps, there are many great options, including:
- Crunchy Bridge Managed Postgres (on AWS, Azure, GCP, or Heroku)
- Neon Serverless Postgres
- PlanetScale Serverless MySQL (guide to use with Fly Apps)
- Supabase Postgres
- MinIO Hosted Object Storage
You can connect your Fly Apps to the usual suspects, too: