---
title: Volumes
description: Persistent storage volumes for your project.
---

## Introduction

A volume is a persistent storage resource that lives independently of any single serverlet instance. Like a serverlet or a cron, a volume belongs to a project, runs in a **region**, and is billed on its own **plan**.

Volumes exist to hold data that needs to survive beyond the lifetime of a single instance — serverlet instances are replaced routinely during [rolling updates](/docs/serverlet/#rolling-updates) and scaling events, so anything written to an instance's own filesystem doesn't persist once that instance is gone.

## Plans

Every volume runs on a **volume plan** — a fixed storage size tier, the same concept as a [serverlet plan](/docs/serverlet/#plans) or a [cron plan](/docs/crons/#plans). Each plan has a fixed size in GB. Pricing is shown per minute and as an estimated monthly cost in the dashboard before you confirm, and the volume's plan can be changed after creation.

## Region

A volume runs in a specific **region**, or you can leave it on **Auto** and let Futrou assign one automatically. Keeping a volume in the same region as the serverlets that use it keeps latency low.

## Creating a volume

Creating a volume takes a name, a region, and a plan:

- **Region** — where the volume is provisioned, or **Auto** to let Futrou choose.
- **Volume Name** — used in the dashboard.
- **Volume Plan** — the storage size tier. See [Plans](#plans).

## Updating and deleting

A volume's name, plan, and region can be changed after creation with `PATCH /volumes/:volumeId`. Deleting a volume with `DELETE /volumes/:volumeId` removes it and its data permanently.

## Relation to serverlets

A volume is a project-scoped resource of its own, created and billed independently of any specific [serverlet](/docs/serverlet/) — it isn't a field on a serverlet's configuration. Create the volume first, then reference it from whatever in your project needs to read or write persistent data.