Render Persistent Disks
Persistent disks are high-performance SSDs you attach to a Render service to preserve filesystem changes across deploys and restarts. Without a disk, services have an ephemeral filesystem—all local file changes are lost on every deploy.
When to Use
- Storing file uploads, CMS media, or user-generated content
- Running a self-managed database (MySQL, MongoDB, ClickHouse) on Render
- Deploying stateful infrastructure (Elasticsearch, Kafka, RabbitMQ, Mattermost)
- Understanding why scaling is blocked or zero-downtime deploys are disabled
- Restoring data from an automatic disk snapshot
For managed databases, prefer Render Postgres (render-postgres) or Key Value (render-keyvalue) over self-managed alternatives on disk.
Critical Constraints
These constraints affect architecture decisions. Understand them before attaching a disk:
Setup
Dashboard
- Go to your service's Disks page
- Set the mount path (absolute path where persistent data is stored)
- Choose a size in GB
- Click Add disk — triggers a new deploy
Blueprint
Mount Path
Only files written under the mount path are preserved. Everything else remains ephemeral.
Disallowed mount paths
Cannot mount at: /, /opt, /opt/render, /opt/render/project, /opt/render/project/src, /home, /home/render, /etc, /etc/secrets.
Subdirectories of these paths are fine (e.g. /opt/render/project/src/uploads).
Snapshots
- Render creates an automatic snapshot every 24 hours
- Snapshots are available for at least 7 days
- Restore from the service's Disks page in the Dashboard
- Full restore only — you cannot restore individual files
- Destructive — all changes after the snapshot are lost
Do not restore snapshots for custom database recovery. Use database-native backup tools (mysqldump, mongodump) instead—disk snapshots may capture a corrupted database state.
File Transfers
SCP (via SSH)
Requires SSH access enabled for the service.
Magic-Wormhole
Available on all native runtimes (install manually on Docker):
Common Patterns
Common Mistakes
References
Related Skills
- render-web-services — Deploy lifecycle, health checks (disk disables zero-downtime)
- render-private-services — Internal services with disks (Elasticsearch, MySQL)
- render-blueprints —
diskfield reference inrender.yaml - render-postgres — Managed database alternative (no disk management needed)


