> ## Documentation Index
> Fetch the complete documentation index at: https://docs.suji.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Volumes

> Persistent block storage you can attach to any VM in the same region. Data survives detach, re-attach, and even VM deletion.

A **volume** is persistent block storage with its own lifecycle, independent of any VM. Attach one to a VM and it shows up as a disk mounted under `/mnt/<volume-name>`. Detach it, attach it to another VM in the same region, grow it when you need more space — the data stays.

Use volumes when your VM's root disk isn't enough: large databases, media libraries, file uploads, backups you manage yourself.

## Creating a volume

From **Volumes** in your project:

1. Click **Create Volume**.
2. Pick a name (it becomes the mount path: `/mnt/<name>`), a size (**10 GB to 10 TB**, growable later), a region, and a filesystem (`ext4` by default, `xfs` if you prefer).
3. Leave **auto-mount** on unless you want to manage mounting yourself.

Billing starts at creation and runs hourly until you delete the volume — attached or not, VM running or stopped.

## Attaching and mounting

Attach a volume to any VM **in the same region** — running or stopped, no reboot needed. With auto-mount on, the volume is formatted on first use and mounted at `/mnt/<volume-name>` within seconds.

With auto-mount off, the disk is attached but not mounted — mount it yourself from the [terminal](/manage-vm/terminal).

A VM can have up to **16 volumes** attached.

## Using a volume for app data

Apps from the marketplace install onto the VM's **root disk**, so a data-hungry app can fill it. To keep heavy data on a volume instead:

* If the app lets you configure a data directory, point it at a path under `/mnt/<volume-name>`.
* For compose-managed apps, edit the app's compose file from the dashboard and bind-mount its data directories to paths under `/mnt/<volume-name>`.
* For anything you run yourself over the terminal, just work under the mount path.

## Moving data between VMs

Detach from one VM, attach to another in the same region — the filesystem and data move with the volume. Detaching unmounts first; if a process still has files open on the volume, the detach is refused so your data isn't corrupted. Stop whatever is using the mount and retry.

Deleting a VM does **not** delete its volumes. They stay in your project (and keep billing) until you delete them.

## Resizing

Volumes **grow only** — shrinking isn't supported. Resize from the volume's actions; the filesystem is expanded automatically, no downtime. Plan sizes so you grow into them rather than over-provisioning up front.

## Deleting

A volume must be detached before you can delete it. Deletion is immediate and permanent — there's no recycle bin, and volumes are **not covered by VM snapshots** (see below).

## Volumes and snapshots

[VM snapshots](/manage-vm/snapshots) capture the VM's root disk only. **Attached volumes are not included.** If the data on a volume matters, back it up yourself (e.g. `pg_dump`, `rsync` to external storage) on your own schedule.

## Retention at €0 balance

| What                                       | Retained                                                                            |
| ------------------------------------------ | ----------------------------------------------------------------------------------- |
| Volumes, while your balance stays above €0 | Until you delete them                                                               |
| Volumes after your balance reaches €0      | 7-day retention window — top up in time and they're kept, otherwise they're deleted |

## Pricing and quotas

Volume storage is billed **hourly per GB** — about **€0.09 per GB per month** (a 100 GB volume ≈ €9/month). The exact price is shown before you create.

Default quota: **5 volumes / 500 GB total** per organization. Need more? Contact support — the cap is raisable.

## Best practices

* **Name volumes for their contents** — `pgdata`, `media`, not `volume-1`. The name is the mount path.
* **Grow instead of over-provisioning** — resizing is online and grow-only, so start small.
* **Detach cleanly** — stop services using the mount before detaching.
* **Back up what matters** — volumes survive VM deletion but have no snapshot coverage of their own.

## Next

<CardGroup cols={2}>
  <Card title="Snapshots" icon="camera" href="/manage-vm/snapshots">
    Root-disk backups — what they cover and what they don't.
  </Card>

  <Card title="Resize" icon="up-right-and-down-left-from-center" href="/manage-vm/resize">
    Out of room on the root disk itself? Change the VM size.
  </Card>
</CardGroup>
