Skip to main content

Volumes

Volumes provide persistent storage for your applications. Data written to a volume path survives container restarts and redeployments.

Use volumes for: databases, file uploads, logs, any data that must persist.

For injecting read-only config files, see File Mounts instead.

Configure a volume

  1. Open your app and go to the Storage tab.
  2. Click Add Volume.
QuickStack Storage Tab
  1. Fill in the fields:
    • Mount Path — path inside the container (e.g. /data, /app/uploads)
    • Size in MB — storage to allocate. You can increase but not decrease after creation.
    • Storage Classlocal-path for single-node; longhorn for multi-node clusters.
    • Access Mode — see below.
    • Node Affinity (optional) — pin the volume to a specific node.
  2. Click Save, then Deploy.
Create Volume Dialog
Deploy required

Click Deploy after adding or modifying a volume for changes to take effect.

Access modes

Access Mode is permanent

The Access Mode cannot be changed after the volume is created. Plan before deploying.

ModeWhat it meansWhen to use
ReadWriteOnce (RWO)Mounted by a single node at a timeSingle-instance apps, databases
ReadWriteMany (RWX)Mounted by multiple nodes simultaneouslyApps with replicas > 1 sharing writes
Replication rule

If your app runs with more than one replica and instances write to a shared path, you must use RWX. RWO with multiple replicas will cause mount conflicts.

Storage classes

ClassWorks onCharacteristics
local-pathSingle-node onlyFast, no replication, data lost if node fails
longhornMulti-nodeReplicated, supports failover, required for HA

Manage volumes

  • Resize — increase only; you cannot reduce a volume's size.
  • Change mount path — allowed, requires a redeploy.
  • Delete — permanently destroys all data on the volume. There is no undo. Back up first.
Storage Tab with volumes

Troubleshooting

SymptomFix
App can't write to volumeVerify mount path matches app config; check container file permissions
Volume not mountingIf node affinity is set, verify the target node is online and has free disk space
Wrong access modeDelete and recreate with the correct mode (backup data first — it will be lost)
Multi-replica app failingConfirm you're using RWX, not RWO, for shared write paths