Skip to content

Volumes

Keep an application's files across deploys by attaching a volume, and know what removing one does.

Updated

A container starts from its image at every deploy, so anything it wrote to its own disk is gone afterwards. A volume is storage that outlives the container: attach one to an application at a path, and whatever the application writes there is still there after the next deploy.

Attach a volume to an application

  1. Open the dialog

    On the Storage page, on the Volumes tab, press Attach volume. The same button is on an application's own Storage section, where the service is already chosen.

  2. Fill it in

    • Service: the application it belongs to. Only applications that are not suspended are listed.

    • Name: 1 to 60 characters, for you to recognise it.

    • Mount path: "An absolute path inside the container, such as /app/data." Up to 200 characters.

    • Automatic backup: Daily, Weekly, Monthly or No automatic backup. Daily is the default where platform backup storage is available.

    Press Attach volume. The console answers "Volume attached. Deploy the application to apply it."

  3. Deploy

    Press Deploy on the application. Attaching records the mount; the application's container gets it at its next deploy.

A mount path is made of segments of letters, digits, dots, hyphens and underscores, so a hidden directory such as /home/node/.openclaw works. The path / on its own is refused, and so is a segment that is only . or ... An application holds one volume per path.

Volumes are named storage managed by Cloud, and each belongs to one application. There is no mounting of a path from the host, no mounting of a single file, and no moving a volume to another service.

Volumes a service owns

A database keeps its data on a volume named Data, at its data directory, and a compose stack owns the named volumes its file declares, listed with "Defined in Compose" as their path. The table marks both Managed by service. They cannot be detached on their own: they belong to the service's definition. Catalogue applications get an ordinary attached volume named State when they are created.

The volumes table

The Volumes tab lists every volume of the organization the console is in, with its Name, Service, Type (Application, Database or Compose), Size, Mount path and Actions. A row opens the service it belongs to.

Size is measured on the server the volume lives on:

The column saysMeaning
A size, such as 48.6 MBMeasured, in decimal units (1 MB is 1,000,000 bytes)
Not created yetNothing is there yet. Normal for a volume attached but not deployed: it is created the first time something mounts it
UnavailableThe server's answer could not be read, or usage could not be fetched
Not measuredThe attachment is still awaiting confirmation

The Storage usage card on the dashboard adds up the measured volumes and says how many it left out. The figure is what is in use, not a quota or a reserved amount.

When an attachment is not confirmed

If Cloud cannot confirm that an attachment took, the row reads Awaiting confirmation with a Check attachment button, and the console says "Attachment is awaiting confirmation. Check it again to reconcile the result."

While it is unconfirmed, the application refuses deploys and other changes with "This service has an unconfirmed volume attachment." Press Check attachment: Cloud reads what the platform holds for that path and completes the attachment, never making a second one.

Automatic volume backups

Automatic backup at attach time creates a schedule that archives the whole volume, on the platform's backup storage. The first archive runs one interval after you attach the volume.

The application stops while its volume is archived

Cloud asks for the application to be stopped for as long as each archive is taken, so the files are not changing under it. Choose the cadence with that pause in mind.

A volume archive cannot be downloaded from the console, and Restore is not available yet. Backups covers schedules, their history and what each kind of backup can do today.

Remove an attachment

On the volume's row, press Remove. The confirmation names the volume and says it "will be detached on the next deploy. Its stored data is retained." Press Remove attachment; the console answers "Attachment removed. Deploy to apply the change. Volume data is retained." Deploy the application to take the volume out of its container.

  • The automatic backup schedule of that volume is archived with it, and its history is kept.

  • A schedule you added yourself for the volume must be archived first. Until then the removal is refused with "Backup history still references this volume."

  • The removal is refused while a deployment of the application is running ("Wait for the service deployment to finish."), while a backup of it is running ("This service has unfinished backup work."), and while any of its attachments is unconfirmed ("This service has an unconfirmed volume attachment."). Press Check attachment first in that case.

A removed volume cannot be attached again

Removing an attachment does not erase the data, but the console has no way to attach that volume again. Attaching a volume at the same path afterwards creates a new, empty one. Copy out what you need first.

Deleting an application with a volume

An application is not deleted while it still has an attached volume: the delete is refused with "Remove this service's volumes first." Remove each attachment, then delete the service. Delete refused lists every refusal.