Storage
Persistent Disks
Without a volume, the container filesystem does not survive a new revision. Persistent disk is Settings → Storage → Volumes. Click Add volume, set a name, size, and mount path, then Commit.
Every replica mounts the same volume (shared). Put user data on a volume or in Postgres / Valkey — not on the ephemeral container disk.
Performance specifications
| Metric | Value |
|---|---|
| Sequential throughput | ~100 MB/s |
| Baseline IOPS | 1,000 IOPS |
| Burst IOPS | 3,000 IOPS |
| Minimum size | 1 GB |
| Maximum size | 1 TB |
| Type | Network block storage (NVMe-backed) |
| Billing | Per GB-month (provisioned size) |
Shared volume — every replica mounts the same disk
Settings → Storage → Volumes is a shared filesystem. Every replica of the app mounts the same volume. Write from more than one replica only if your app can handle concurrent writers. Put structured data in Postgres or Valkey when you need a database, not a file lock.
Add volume
Absolute path where the disk will appear inside the container
Example: SQLite on a persistent disk
const Database = require('better-sqlite3');
// Mount path matches the disk configured in StackBlaze
const db = new Database('/data/app.db');
// Data persists across restarts and deploys
db.exec(`
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
email TEXT UNIQUE NOT NULL
)
`);
Under the hood
- Settings → Storage → Volumes: add a name, size, and mount path. The volume stays attached across deploys until you remove it.
- Shared mount: every replica of the app mounts the same volume at the configured path. Commit applies the change.
- Volume backups: optional and configured on the volume itself. That is separate from add-on database backups on the Backups tab.
- Ephemeral without a volume: the container filesystem is discarded on a new revision. Put uploads, SQLite files, and caches on a volume.
Step by step
Open Storage
Open the app → Settings tab → jump Storage → Volumes.
Add a volume
Click Add volume. Set Name, Size, and Mount path (the path inside the container). Commit the change on the canvas.
Write files to the mount path
Inside the container, the volume is a normal filesystem at that path. Reads and writes persist across restarts and new revisions. Every replica mounts the same volume.
Optional volume backups
If backups are offered on the volume, enable them and set the schedule. That is separate from add-on database backups.