πŸ“š General & Other

DigitalOcean Network File Storage: Shared Storage for GPU Clusters and Multi-Server Apps

Sooner or later, every growing application hits the same wall: several servers need to read and write the same files. Maybe it is a cluster of GPU machines training on one dataset, a few web servers…

Some links here are affiliate links β€” if you buy through them we may earn a commission at no extra cost to you. It never changes what we recommend. Full disclosure.

Disclosure: This article contains affiliate links. If you sign up through them, we may earn a commission at no extra cost to you. Pricing, regions and features were checked against DigitalOcean's documentation in October 2026 β€” confirm the current details before you build on them.

Sooner or later, every growing application hits the same wall: several servers need to read and write the same files. Maybe it is a cluster of GPU machines training on one dataset, a few web servers sharing uploads, or Kubernetes pods that all need the same directory. Block storage attaches to one server at a time. Object storage needs code changes. What you actually want is a shared file system that every machine mounts like a normal folder.

That is what DigitalOcean's Network File Storage (NFS) provides. This guide covers what it is, how it is priced, when to use it instead of Volumes or Spaces, and the mistakes to avoid.

What Network File Storage Is

Network File Storage is a fully managed, POSIX-compliant shared file system for Droplets and DigitalOcean Kubernetes (DOKS). It supports NFSv4.1, standard POSIX permissions and access over your VPC network, and a single share can be mounted by multiple Droplets and Kubernetes nodes at the same time.

DigitalOcean launched it into general availability on October 20, 2025, initially in ATL1 and NYC. At the time of writing, the documentation lists availability in NYC2, AMS3, ATL1, RIC1, MKC1 and MEM1.

Because it is managed, you do not run an NFS server, patch it, or worry about it filling a disk and falling over β€” you provision a share of a given size and mount it.

Pricing

Network File Storage uses simple, allocation-based pricing: you pay a flat monthly rate for each GiB you provision, with no charges for operations or for the number of mounted clients, and data transfer over the VPC is free.

TierPriceMinimum shareDesigned for
StandardFrom $0.15 per GiB/month50 GiBGeneral shared storage, throughput up to 1 Gbps per share
High Performance (GPU)From $0.30 per GiB/month500 GiBAI/ML pipelines feeding GPU machines; discounts available for GPU-committed customers

So a 100 GiB Standard share costs about $15/month, and the smallest High Performance share (500 GiB) about $150/month before any discounts.

Because you pay for what you allocate rather than what you use, start close to your real size and grow the share as data grows.

(ad) Need one folder that every Droplet and Kubernetes node can share? See DigitalOcean Network File Storage β€” managed NFS from $0.15/GiB per month.

NFS vs Volumes vs Spaces

DigitalOcean has three storage products, and choosing correctly saves both money and engineering time:

Network File StorageVolumes (block storage)Spaces (object storage)
AccessMany servers at once, as a mounted folderOne Droplet at a time, as a diskOver HTTP/S3 API from anywhere
InterfacePOSIX file system (NFSv4.1)Raw block device you formatBuckets and objects
Code changes neededNone β€” it is just a directoryNoneYes, use the S3 API or SDKs
Best forShared datasets, shared uploads, multi-node appsDatabases, single-server appsBackups, media, static assets, archives
Public accessNo (VPC only)NoYes, optionally via CDN

Rules of thumb:

  • One server needs more disk β†’ Volumes
  • Many servers need the same files β†’ Network File Storage
  • Files are served to the public, archived, or accessed by API β†’ Spaces

Where It Shines

1. GPU Training Clusters

Training jobs across several GPU Droplets all need the same dataset and a shared place to write checkpoints. Copying data to every node wastes time and disk; a shared High Performance share lets every node mount /data and start immediately. Expensive GPUs spend more time computing and less time waiting.

Pair it with GPU Droplets, or read our comparison of GPU Droplets vs Bare Metal GPUs.

2. Kubernetes Workloads That Need Shared Volumes

Kubernetes block volumes generally attach to one node at a time. Workloads that need a volume mounted by many pods across many nodes (ReadWriteMany) are where a managed NFS share fits naturally. It is designed to work with DigitalOcean Kubernetes.

3. Horizontally Scaled Web Apps

When you put two or more web servers behind a Load Balancer, user uploads saved on one server are missing on the others. Mounting a shared directory for uploads solves that without rewriting the app to use object storage β€” useful for legacy PHP apps and CMSs.

4. Shared Build and Media Pipelines

Render farms, transcoding workers and CI runners that pass files between stages can all read and write the same share.

Setting It Up: The Short Version

  1. Create the share in the same region and VPC as the Droplets or Kubernetes cluster that will use it.
  2. Choose the tier (Standard or High Performance) and a size at or above the minimum.
  3. Mount it on each Droplet using NFSv4.1 with the mount details from the control panel, and add it to /etc/fstab so it survives reboots.
  4. In Kubernetes, expose it through a persistent volume so pods can claim it.
  5. Set POSIX ownership and permissions deliberately so each service can write only where it should.

Tip: Keep NFS traffic on your VPC and mount shares only on the machines that need them. It is not designed to be exposed to the public internet β€” and you do not want it to be.

When Not to Use It

  • Database storage. Databases want low-latency block storage. Use Managed Databases or a Volume.
  • Public file delivery. Serve public assets from Spaces with a CDN instead.
  • Long-term archives. Object storage is cheaper per GiB for data you rarely read.
  • A single server. If only one machine needs the files, a Volume is simpler and cheaper.

Cost Example

A small AI team running three GPU Droplets for training needs a 600 GiB shared dataset and checkpoint area:

  • High Performance share, 600 GiB Γ— $0.30 = about $180/month
  • No per-operation fees, no per-client fees, free VPC transfer
  • Finished model artifacts moved to Spaces for cheap long-term storage

Compare that with copying the dataset to each node's local disk on every run, and the time saved on data movement often matters more than the storage line item.

Frequently Asked Questions

What protocol does DigitalOcean Network File Storage use?

NFSv4.1, with POSIX permissions and access over your VPC.

Can multiple Droplets mount the same share?

Yes β€” that is its main purpose. Multiple Droplets and Kubernetes nodes can mount one share at the same time.

How is Network File Storage billed?

By provisioned capacity per GiB per month, with separate Standard and High Performance tiers. There are no operation or client charges, and VPC data transfer is free.

Which regions support it?

At the time of writing: NYC2, AMS3, ATL1, RIC1, MKC1 and MEM1. Check the documentation for updates, and create the share in the same region as your compute.

The Bottom Line

Network File Storage fills the gap between single-server block storage and API-driven object storage. If several machines β€” GPU nodes, Kubernetes pods or load-balanced web servers β€” need the same files, it is the simplest way to give them a shared folder without running your own NFS server.

(ad) Create a DigitalOcean Network File Storage share for your GPU cluster, Kubernetes workloads or load-balanced app.