-
Always run at least two volumes per app. We usually recommend running at least two Machines per app to increase availability, and if you're using volumes, then each machine should have an attached volume. If you only have one Machine and volume, you'll have downtime if there's a host or network failure, and whenever you deploy your app. Also remember that volumes don't have built-in replication between them.
+
+Important: Always run at least two volumes per app. We usually recommend running at least two Machines per app to increase availability, and if you're using volumes, then each machine should have an attached volume. If you only have one Machine and volume, then you'll have downtime if there's a host or network failure, and whenever you deploy your app. Also remember that volumes don't have built-in replication between them.
In a few cases, you can run a single Machine with an attached volume. For example, if you're running an app with a standard SQLite database, or your app is in development and you're not yet worried about downtime.
-Many developers use volumes for databases, so if possible, we place each volume you create for your app in a separate hardware zone by default. Note that having each volume in a separate hardware zone limits the number of volumes your app can have in a region. You can configure this setting with the `--require-unique-zone` option when you run [`fly volumes create`](/docs/flyctl/volumes-create/).
+Many developers use volumes for databases, so if possible, each volume you create for your app is placed in a separate hardware zone by default. Note that having each volume in a separate hardware zone limits the number of volumes your app can have in a region. You can configure this setting with the `--require-unique-zone` option when you run [`fly volumes create`](/docs/flyctl/volumes-create/).
## Volumes and regions
Volumes exist in a single region. For redundancy within a region, you can run multiple Machines with attached volumes by creating multiple volumes with the same name. For example, creating three volumes named `myapp_data` would let up to three instances of the app start up and run. Every volume has a unique ID to allow for multiple volumes with the same name. Remember that volumes don't automatically replicate data between them.
-## Using volumes with your Fly App
-
-Learn more about using volumes:
-
-- How to [add volume storage for your app](/docs/apps/volume-storage/), step-by-step.
-- How to configure the [`mounts` section](/docs/reference/configuration/#the-mounts-section) for volumes in the `fly.toml` Fly Launch configuration file.
-- How to [scale an app with volumes attached](/docs/apps/scale-count/#scale-an-app-with-volumes)
-
-## Reference: Working with volumes using flyctl
-
-This section is a reference for working with volumes using the [`fly volumes`](/docs/flyctl/volumes/) command. To add a volume to an existing app or launch a new app with a volume refer to [Add Volume Storage](/docs/apps/volume-storage/).
-
-
`fly volumes` is aliased to `fly volume` and `fly vol`.
+## Volume encryption
-### Create a volume
-
-Create a volume for an app using `fly volumes create`. The default volume size is 3GB. The maximum size is 500GB. Refer to [`fly volumes create`](/docs/flyctl/volumes-create/) in the [flyctl reference](/docs/flyctl) for usage and options.
-
-The following example command creates a new volume named "myapp_data" with 1GB of storage in the yyz (Toronto) [region](/docs/reference/regions/), for the application whose `fly.toml` file is in the working directory. To specify a different app, use the `-a` or `--app` flag.
-
-```cmd
-fly volumes create myapp_data --region yyz --size 1
-```
-```out
- ID: vol_kgj54500d3qry2wz
- Name: myapp_data
- App: myapp
- Region: yyz
- Zone: acc6
- Size GB: 1
- Encrypted: true
-Created at: 04 Mar 23 03:32 UTC
-```
-
-
Volumes are, by default, created with encryption-at-rest enabled for additional protection of the data on the volume. Use `--no-encryption` to instead create an unencrypted volume for improved performance at deployment and runtime.
-
-When you create a volume on a Nomad (V1) App, its region is added to the app's region pool to allow app instances to be started with it.
+## Volume size
-### List volumes
+The default volume size is 3GB. The maximum size is 500GB.
-Get a list of all the volumes created for an app using `fly volumes list`. Refer to [`fly volumes list`](https://fly.io/docs/flyctl/volumes-list/) in the [flyctl reference](/docs/flyctl) for usage and options.
+## Volume snapshots
-```cmd
-fly volumes list
-```
-```out
-ID STATE NAME SIZE REGION ZONE ENCRYPTED ATTACHED VM CREATED AT
-vol_xme149kke8ovowpl created myapp_data 1GB iad 7806 true 2 minutes ago
-vol_od56vjpp95mvny30 created myapp_data 1GB lhr 79f0 true 2 minutes ago
-vol_kgj54500d3qry2wz created myapp_data 1GB yyz acc6 true 9 minutes ago
-```
+Fly.io takes daily block-level snapshots of volumes. Snapshots are kept for five days. You can restore a volume snapshot into a new volume of equal or greater size.
-Use the unique volume ID in commands that reference a specific volume, such as the `show` or `delete` sub-commands. For example, the `fly volumes show` command can display the details for a particular volume:
+Snapshots may not have your latest data. You should still implement your own backup plan for important data.
-```cmd
-fly vol show vol_kgj54500d3qry2wz
-```
-```out
- ID: vol_kgj54500d3qry2wz
- Name: myapp_data
- App: myapp
- Region: yyz
- Zone: acc6
- Size GB: 1
- Encrypted: true
-Created at: 04 Mar 23 03:32 UTC
-```
-
-### Access a volume
-
-You can access and write to a volume on a Machine just like a regular directory. For Fly Apps, the `destination` under `[mounts]` in `fly.toml` is the path for the mounted volumes. For Machines that are managed separately, you specify the mount path in the `fly machine clone` command when you [clone a Machine and add a volume](/docs/apps/volume-storage/#add-a-volume-to-a-machine-clone).
-
-### Extend a volume
-
-Extend a volume using `fly volumes extend`. Volumes can be extended, or made larger, but can't be made smaller. Refer to [`fly volumes extend`](https://fly.io/docs/flyctl/volumes-extend/) in the [flyctl reference](/docs/flyctl) for usage and options.
-
-To extend a volume, find its ID with `fly volumes list`, then use `fly volumes extend
-s `:
-
-```cmd
-fly volumes extend vol_od56vjp5pzmvny30 -s 2
-```
-
-where `` is the extended size in GB.
-
-For most Machines, the attached volume can be extended without a restart. For older Machines, you'll get a message that you need to manually restart the Machine to increase the size of the file system.
-
-
-On Nomad (V1) Apps, the instance is automatically restarted.
-
+## Related topics
-Get the `id` of the Machine that has the volume mounted (find it under `ATTACHED VM`).
-
-```cmd
-fly volumes list
-```
-```out
-ID STATE NAME SIZE REGION ZONE ENCRYPTED ATTACHED VM CREATED AT
-vol_od56vjp5pzmvny30 created data 2GB yyz acc6 true 4d891de2f66587 36 minutes ago
-```
-
-If prompted, restart the Machine using `fly machine restart `:
-
-```cmd
-fly machine restart 4d891de2f66587
-```
-
-You can check the new volume size in the Machine's file system by running `df` via `fly ssh console`. If there's more than one Machine on the app, `fly ssh console -s` allows you to select the correct one:
-
-```cmd
-fly ssh console -s -C df
-```
-```out
-? Select VM: [Use arrows to move, type to filter]
-> yyz: 4d891de2f66587 fdaa:0:3b99:a7b:ef:8cc4:dc49:2 withered-shadow-4027
-Connecting to fdaa:0:3b99:a7b:ef:8cc4:dc49:2... complete
-Filesystem 1K-blocks Used Available Use% Mounted on
-devtmpfs 103068 0 103068 0% /dev
-/dev/vda 8191416 172752 7582852 3% /
-shm 113224 0 113224 0% /dev/shm
-tmpfs 113224 0 113224 0% /sys/fs/cgroup
-/dev/vdb 2043856 3072 1930400 1% /storage
-```
-
-Here, the volume is mounted under `/storage` in the Machine's root file system and has been resized to 2GB. The `df` command shows disk space in 1K blocks by default. You can use the `-h` flag to return a more human-readable format.
-
-### Restore from a snapshot
-
-List the snapshots that belong to your target volume using the `fly volumes snapshots list` command. We take daily block-level snapshots of volumes and keep them for five days. These snapshots may not have your latest data. You should implement your own backup plan for important data. Refer to [`fly volumes snapshots list`](https://fly.io/docs/flyctl/volumes-snapshots-list/) in the [flyctl reference](/docs/flyctl) for usage and options.
-
-To list a volume's snapshots, find the volume ID with `fly volumes list`, then use `fly volumes snapshots list `:
-
-```cmd
-fly volumes snapshots list vol_wod56vjyd6pvny30
-```
-```out
-Snapshots
-ID SIZE CREATED AT
-vs_MgLAggLZkYx89fLy 17638389 1 hour ago
-vs_1KRgwpDqZ2ll5tx 17649006 1 day ago
-vs_nymJyYMwXpjxqTzJ 17677766 2 days ago
-vs_R3OPAz5jBqzogF16 17689473 3 days ago
-vs_pZlGZvq3gkAlAcaZ 17655830 4 days ago
-vs_A9k6age3bQov6twj 17631880 5 days ago
-```
-
-You can restore a volume snapshot into a volume that's the same size as, or larger than, the source volume, but not into a smaller one. If you don't specify a size with the `-s` flag, then `fly volumes create` requests a 3GB volume.
-
-To restore from the snapshot to a new volume, use `fly volumes create --snapshot-id -s [-a ]`:
-
-```cmd
-fly volumes create pg_data --snapshot-id vs_0Gvz2kBKJ28Mph4y -a cat-pg
-```
-```out
-? Select region: Sydney, Australia (syd)
- ID: vol_mjn924o9l3q403lq
- Name: pg_data
- App: cat-pg
- Region: syd
- Zone: 180d
- Size GB: 3
- Encrypted: true
-Created at: 02 Aug 22 21:27 UTC
-```
-
-The `flyctl` output shows the details of the new volume, including its size.
-
-### Destroy a volume
-
-Destroy a volume using the `fly volumes destroy` command. Refer to [`fly volumes destroy`](https://fly.io/docs/flyctl/volumes-destroy/) in the [flyctl reference](/docs/flyctl) for usage and options.
-
-```cmd
-fly volumes destroy vol_2n0l9vlnklpr635d -a myapp
-```
-```out
-Warning! Individual volumes are pinned to individual hosts. You should create two or more volumes per application. Deleting this volume will leave you with 1 volume(s) for this application, and it is not reversible. Learn more at https://fly.io/docs/reference/volumes/
-? Are you sure you want to destroy this volume? Yes
-Destroyed volume vol_2n0l9vlnklpr635d from myapp
-```
+- [Add volume storage](/docs/apps/volume-storage/)
+- [Manage volume storage](/docs/apps/volume-manage/)
+- [Scale an app with volumes](/docs/apps/scale-count/#scale-an-app-with-volumes)
diff --git a/volumes/index.html.markerb b/volumes/index.html.markerb
new file mode 100644
index 0000000000..392e3d519d
--- /dev/null
+++ b/volumes/index.html.markerb
@@ -0,0 +1,34 @@
+---
+title: "Fly Volumes"
+layout: docs
+nav: firecracker
+toc: false
+order: 10
+---
+
+Fly Volumes are local persistent storage for [Fly Machines](/docs/machines/).
+
+## Learn
+
+Understand how volumes work and whether they're right for your use case.
+
+[Fly Volumes overview](/docs/reference/volumes/)
+
+## How-Tos
+
+Get things done with volumes.
+
+[Add volume storage](/docs/apps/volume-storage/)
+
+[Manage volume storage](/docs/apps/volume-manage/)
+
+Related how-tos:
+
+[Scale an app with volumes](/docs/apps/scale-count/#scale-an-app-with-volumes)
+
+## Reference
+
+Commands and APIs for volumes.
+
+- [flyctl commands - `fly volumes`](/docs/flyctl/volumes/)
+- [Machines API - Volumes](https://docs.machines.dev/swagger/index.html#/Volumes)
\ No newline at end of file