Skip to Content
PlatformCloud Storage

Cloud Storage

Cloud Storage is managed through app volumes. Volumes give a running app persistent file storage at a mount path, and can expose S3-compatible access when you need direct object workflows.

Features

Persistent volumes

Create a volume for an app, choose the mount path, and set a maximum size. The volume stays with the app across deployments.

S3-enabled access

Turn on s3Enabled when the same storage should be reachable from S3-compatible tooling or object workflows.

Explorer and storage URLs

Volume records expose s3Url and explorerUrl when available, so dashboards and tools can deep-link into stored files.

Redeploy after storage changes

Use redeployApp when changing volume settings should immediately roll the app onto a version with the updated storage mount.

Common workflow

  1. Create the volume with an app ID and mount path.
  2. Update the volume to enable S3 access or adjust settings.
  3. Redeploy the app when the runtime needs the new mount.
  4. List volumes to audit storage attached to the app.

SDK examples

Create an S3-enabled app volume

Create persistent app storage, enable S3 access, print explorer URLs, and list attached volumes.

cloud-storage.js
1
const volume = await client.apps.volumes.create({
2
  app: "da_XYZ",
3
  mountPath: "/uploads",
4
  maxSizeBytes: 1_073_741_824,
5
});
6
 
7
const updated = await client.apps.volumes.update(volume.id, {
8
  mountPath: "/uploads",
9
  s3Enabled: true,
10
  redeployApp: true,
11
});
12
 
13
console.log(updated.mountPath, updated.s3Enabled, updated.s3Url);
14
console.log(updated.explorerUrl);
15
 
16
const volumes = await client.apps.volumes
17
  .list({ app: "da_XYZ", limit: 10 })
18
  .autoPagingToArray({ limit: 25 });
19
console.log(volumes.map((item) => item.mountPath));

Source: stackmachine/sdks  JavaScript examples.