The default filesystem for services running on Render is ephemeral. Application data isn’t persisted across deploys and restarts, and this works just fine for most apps because they use managed databases to persist data.

But many applications need persistent disk storage that isn’t ephemeral. These include:

This is where Render Disks come in. Render services can use disks to store data that persists across deploys and restarts, making it easy to deploy stateful applications while benefiting from Render features like instant setup, fully-managed SSL, private networking and auto deploys from Git.

Render Disks are backed by high performance SSDs and protected against data loss through automatic daily snapshots.

Get Started

Using disks is quick and easy. You can add a disk to a new service by clicking on Advanced during service creation and adding a name, absolute mount path, and the desired size for your disk.

Add a disk during service creation

You can also add a disk to an existing app by going to the Disks tab for your service, and picking a name, mount path and size.

Add a disk after service creation

A new deploy will be triggered once you click Save, and your disk will be available as soon as the deploy is live.

Monitoring Disk Usage

You can view disk usage over time and increase disk size on the Disks tab for your service.

Disk Usage

Transferring Files

You can use magic-wormhole to securely transfer files from Render to your local machine.

  1. Navigate to the Shell tab on your Render dashboard
  2. Install magic-wormhole
  • Native environments: magic-wormhole is pre-installed on all of our native environments
  • Docker services: apt update && apt install magic-wormhole or the equivalent for your environment
  1. Send the file via wormhole
wormhole send /path/to/file
  1. Make note of the code that appears in the output from wormhole. Then, from any internet-connected machine, install magic-wormhole and run wormhole receive, entering in the code when prompted.

Disk Snapshots

No system is completely safe from data loss or corruption, which is why Render automatically creates snapshots for your disks once every 24 hours, and retains each snapshot for at least 7 days. You can use the Render dashboard to restore a snapshot.

Disk Snapshots

Application Considerations

  • Adding a disk to a service prevents zero downtime deploys. A new deploy first stops your app to prevent it from writing to disk, and only then brings up the new version so the app can start writing to the disk again. This typically only takes a few seconds, but your application will be unavailable during this time. However, this is needed to prevent data corruption that can happen when different versions of an app read and write to the disk at the same time.

  • You can increase the allocated size for your disk at any time, but you can’t decrease it after creation. Increasing the size will not cause downtime and your service will see the new disk size in seconds.

  • Services with disks can only have a single instance for now. We plan to remove this limitation in the future to enable multiple service instances each with its own disk. Combined with Render’s built-in private networking, this will let you deploy clusters for stateful applications like MongoDB and Elasticsearch.