Storage

Storage for stateful and stateless containers alike

Every container gets a few GB of fast local scratch space for free. When you need state that survives restarts, attach replicated block SSD volumes — multiple per container, sized to fit, billed per minute.

Ephemeral storage, included

Every container ships with 3 GB of ephemeral storage at no cost — the kind of scratch space you would have written to /tmp on a regular server. Need more? Scale up to 10 GB per pod in 1 GB steps. Anything beyond the free 3 GB is billed at $0.10 per GB per month, per minute.

Persistent storage, when you need it

Attach one or more persistent volumes to any HTTP or worker container. Pick a name, a mount path, and a size from 1 to 50 GB per volume. Volumes are stored as replicated block SSD — three independent copies behind the scenes — so a single disk failure can't take your data offline. $0.30 per GB per month, billed per minute.

Multiple volumes per container

Mount one volume for application state, another for a database, a third for logs — whatever your image expects. Each volume is independent: own name, own mount path, own size. Add or remove them later without redeploying everything around them.

Transparent billing, per replica

Persistent volumes are per-replica: each replica gets its own copy of every volume, and you pay for each copy. Three replicas with a 10 GB volume is 30 GB billed. The console cost preview shows the full bill before you save, including the per-replica multiplier — no surprises at month end.

Platform features

Built to be obvious

No external storage services to provision. No bucket policies. No volume drivers to install. Pick a size, save the container, ship.

Resilience

Three-copy replication

Every persistent volume is stored as three independent copies. A single drive failure or node loss never takes your data offline — the platform rebuilds the missing copy in the background while your application keeps running.

Performance

Local SSD performance

Both ephemeral and persistent storage live on local SSDs in the same region as your container. No network hop to a separate storage service, no I/O variance from a remote object store.

Configuration

Sized to the use case

Ephemeral storage scales from 3 GB up to 10 GB per pod. Persistent volumes scale from 1 GB to 50 GB each, and a container can hold as many volumes as it needs. No fixed tiers, no rounding to the nearest hundred gigabytes.

Lifecycle

Volumes follow the container

Volumes are created with the container, restored on pod restarts, and deleted when the container is terminated. No orphan storage hanging around after a cleanup, no separate billing surface to forget about.

Multi-region

Regional deployment

Storage is provisioned in every region the container runs in. Data stays local to the region, so reads and writes never cross network boundaries. Adding a region adds storage in that region automatically.

Billing

Per-minute, per-GB

Both storage types are tracked per minute per GB and billed against your organisation balance. Rounded up to the next whole minute with a 60-second minimum — the same model as compute, the same model as caching, no separate storage invoice.

Common patterns

When to use which

Ephemeral for in-flight work, persistent for state you care about.

Application scratch space

Temporary upload buffers, request-scope file processing, build artefact caches. The 3 GB free tier covers most apps; scale up to 10 GB if you hit disk-pressure evictions.

Embedded databases

SQLite, DuckDB, BoltDB, RocksDB — anything that wants a file path it can write to and find again later. Mount a persistent volume at the path your library expects and the rest just works.

Vector and search indexes

Local vector stores (FAISS, Qdrant in embedded mode) and search indexes (Tantivy, Bleve, Lucene) need durable disk for the index files. A 20–50 GB persistent volume per replica keeps the index local and fast.

State-machine and event-sourced apps

Local event logs, write-ahead logs, durable queues that don't warrant a full database. Persistent volumes give you the durability without the operational overhead of running a managed datastore.

What you get out of the box

3 GB ephemeral, free

Every container starts with 3 GB of fast local scratch space at no cost. No configuration, no surprises on your bill.

Multiple persistent volumes

Attach as many volumes as your application needs, each at its own mount path, each independently sized.

Replicated block SSD

Three independent copies of every persistent byte. Single-drive failures recover transparently.

Per-minute billing

Both storage types are billed per minute against your organisation balance — same model as compute and caching.

Heads up

Persistent storage and autoscaling don't mix

Persistent volumes are stored per replica. Autoscaling can add or remove replicas at any time, which with persistent state would either silently create new (billed) volumes when scaling up or permanently destroy data on removed replicas when scaling down. Neither is what anyone wants. The platform enforces this in the console, the CLI, and the API — pick autoscaling for stateless containers, fixed replica counts for stateful ones.

Coming Soon

Managed services roadmap

Planned for later in 2026/2027, timeline subject to change.

Valkey

Redis-compatible in-memory data store with persistent snapshots and restore. Session caching, queues, pub/sub, and real-time data — without Redis licensing concerns.

MySQL

Managed relational database with automated backups, point-in-time recovery, and regional deployment. A production-ready RDBMS for structured data and transactional workloads.

PostgreSQL

Managed PostgreSQL with automated backups, point-in-time recovery, and regional deployment. Advanced SQL features, JSONB support, and extensions for modern application workloads.

CouchDB

A globally distributed, multi-region document database with built-in replication. Conflict-free sync across regions for offline-first applications and geo-distributed NoSQL workloads.

S3 Object Storage

S3-compatible object storage for files, media, backups, and static assets. Accessible from your containers or directly via standard S3 APIs and client libraries.

CDN

Global content delivery network for static assets, media, and API acceleration. Edge caching across multiple PoPs with automatic origin pull from your containers or object storage.

RabbitMQ

Managed RabbitMQ for asynchronous messaging between containers. Multi-region clusters, project-private networking, and per-node billing — same operational model as Memcached.

Give your containers state that survives

Attach a persistent volume in seconds. First 3 GB of ephemeral storage is included with every container.