/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:- Click Create Volume.
- Pick a name (it becomes the mount path:
/mnt/<name>), a size (10 GB to 10 TB, growable later), a region, and a filesystem (ext4by default,xfsif you prefer). - Leave auto-mount on unless you want to manage mounting yourself.
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.
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 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, notvolume-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
Snapshots
Root-disk backups — what they cover and what they don’t.
Resize
Out of room on the root disk itself? Change the VM size.