Volumes
A Volume is persistent storage that lives outside any single pod. Attach one to a pod and the data survives pod termination, can be moved to another pod later, and never has to fit on the host's local disk.
When attached, the volume is mounted at /mnt inside your container. Use it for datasets, model weights, training checkpoints, evaluation outputs — anything you don't want to lose when a pod is deleted.
Volumes are backed by S3-compatible object storage. Throughput is fine for streaming/loading, but sustained random I/O is slower than the pod's local disk. For tight inner loops, copy the working set into
/rootand write results back to/mnt.
Create a volume​
In the dashboard:
- Click Volumes in the sidebar.
- Click ADD NEW + (top-right).
- Enter a Name (letters, digits, hyphens, underscores, dots, spaces, and
,()!?/— max 100 chars). Description is optional. - Create.

The page shows your volumes with their Size, Files, and Date created. The Current Rate widget at the top is a calculator — set Storage Amount × Time Period to estimate hourly cost.
Attach a volume to a pod​
When deploying a pod (Browse Pods → RENT NOW):
- Find the Volume field on the Create Pod form.
- Open Choose Volume and select an existing volume — or click Add a Volume to create one inline.
- Deploy. The volume mounts at
/mntautomatically.
To switch volumes later, open the pod detail page and click Volume in the top action bar.
A volume can only be attached to one pod at a time. To move it to another pod, detach (or terminate) the current pod first.
Use it from inside the pod​
# SSH into the pod
ssh root@<pod-ip> -p <pod-port>
# Volume is at /mnt
ls /mnt
df -h /mnt # confirm it's mounted
# Suggested layout
/mnt/
├── datasets/ # input data
├── models/ # trained weights you want to keep
├── checkpoints/ # in-progress training state
└── outputs/ # results, evaluation reports
Tip: keep the working set on /root (the local mount, fast disk) during training, then rsync /root/checkpoints/ /mnt/checkpoints/ between epochs.
Billing​
- Charged per-GB / per-hour based on the actual data stored, not the allocated capacity.
- Continues to accrue while the volume is detached — your data stays available.
- Stops only when you delete the volume (irreversible).
- Pay-as-you-use AWS pass-through — no markup. The Volumes page calculator at the top of the list shows the current
$/GB/hourrate.
Delete a volume​
In the Volumes list, click the trash icon on the row. This permanently destroys the data — there is no undo and no archive.
If you might want the data back, take a Backup of the relevant pod first, then delete the volume.
Limits & rules​
| Rule | Detail |
|---|---|
| Mount point | Always /mnt |
| Pods per volume | 1 at a time |
| Size cap | None — volumes scale automatically |
| Name pattern | [a-zA-Z0-9\s\-_.,()!?/]+, 1–100 chars |
For agents and automation: API + CLI
# List your volumes
curl https://lium.io/api/volumes \
-H "X-API-Key: $LIUM_API_KEY"
# Get one
curl https://lium.io/api/volumes/<volume_id> \
-H "X-API-Key: $LIUM_API_KEY"
# Create one
curl -X POST https://lium.io/api/volumes \
-H "X-API-Key: $LIUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "my-dataset", "description": "Training data v2"}'
# Delete one (data is gone — no recovery)
curl -X DELETE https://lium.io/api/volumes/<volume_id> \
-H "X-API-Key: $LIUM_API_KEY"
CLI: lium volumes list / new / rm (reference). Get an API key first.