Storage
Mikrom has three storage surfaces: volumes (block storage for an app), databases (managed PostgreSQL), and snapshots (of volumes, databases, and deployment microVMs).
Persistent volumes
Section titled “Persistent volumes”A volume is block storage created independently and then attached to an app at a mount point.
mikrom volume create --name data --size 10240 # size in MiBmikrom volume list --app my-appmikrom volume attach --app my-app --volume-id <id> --mount /data --mode 0mikrom volume detach --app my-app --volume-id <id>mikrom volume delete --volume-id <id>Access modes (--mode):
| Value | Mode | Meaning |
|---|---|---|
0 |
RWO | Read-write by one deployment (default) |
1 |
RWX | Read-write by many |
2 |
ROX | Read-only by many |
Volume snapshots:
mikrom volume snapshot --volume-id <id> --name pre-migrationmikrom volume snapshots list <...> # listmikrom volume restore --volume-id <id> --snapshot pre-migrationThe API also exposes volume usage (GET /v1/volumes/{id}/usage) and cloning
(POST /v1/volumes/{id}/clone).
PostgreSQL databases
Section titled “PostgreSQL databases”Databases are provisioned through Neon. New databases default to PostgreSQL 16 unless another supported version is requested.
mikrom db create ordersmikrom db listmikrom db info <name-or-id>mikrom db connection <name-or-id> # prints how to connectmikrom db delete <name-or-id>mikrom db connection returns:
- an SSH tunnel command to reach the database VM,
- the
psqlcommand to connect through that tunnel, - the same metadata as JSON with
--output json.
Branches, backups, snapshots
Section titled “Branches, backups, snapshots”mikrom db branches <id>mikrom db backup <id>mikrom db snapshots <id>mikrom db snapshot-create <id> nightly-2026-08-27mikrom db snapshot-restore <id> nightly-2026-08-27mikrom db snapshot-delete <id> nightly-2026-08-27Deployment (microVM) snapshots
Section titled “Deployment (microVM) snapshots”You can snapshot the microVM of a running deployment and restore it later — useful before a risky migration or to capture a known-good state.
mikrom deployment snapshots --app my-app --job-id <job-id>mikrom deployment snapshot-create --app my-app --job-id <job-id> snap-v1mikrom deployment snapshot-restore --app my-app --job-id <job-id> snap-v1mikrom deployment snapshot-delete --app my-app --job-id <job-id> snap-v1Which snapshot do I want?
Section titled “Which snapshot do I want?”| You want to preserve | Use |
|---|---|
| A data volume’s contents | mikrom volume snapshot |
| A database’s state | mikrom db snapshot-create |
| A running microVM (app + ephemeral disk) | mikrom deployment snapshot-create |