20% off your first order with code APEX20 00:00:00 See deals
Home Blog Object Storage
Storage

Object Storage in India: S3-Compatible Storage Explained (2026)

Hoststack Team 6 min read July 4, 2026

"Just use S3" gets thrown around a lot, but most Indian site owners have never actually needed object storage until their VPS disk starts filling up with user uploads, or their WordPress media library hits a few GB and page backups start timing out. Here's what object storage actually is, when it's worth adding, and when your existing VPS disk is genuinely fine.

Object storage vs. your VPS disk, in one line

  • VPS disk (NVMe) is a filesystem attached to one server — fast, but tied to that server's lifecycle and included storage limit
  • Object storage is accessed over HTTP via an API (the S3 protocol) — files live independently of any single server and scale to any size without you resizing a disk
  • You pay for what you store and transfer, not a fixed disk allocation baked into your VPS plan

Common use cases for object storage

1

Offloading WordPress media libraries

Plugins like WP Offload Media or WP Media Sync push your `/wp-content/uploads/` folder to an S3-compatible bucket and rewrite image URLs automatically. This keeps your VPS disk lean, makes backups faster (you're no longer snapshotting gigabytes of JPEGs every night), and lets a CDN sit in front of the bucket for faster image delivery across India.
2

App file uploads at scale

If your Node/Django/Laravel app lets users upload profile photos, documents, or videos, writing those directly to local VPS disk breaks the moment you scale to a second server or run out of space. Uploading straight to object storage (or via a presigned URL from the browser) decouples file storage from your app server entirely.
3

Backups and archives

Nightly database dumps, full-site backups, or log archives are a natural fit — they're written once, rarely read, and you don't want them competing for space with your live application on the same NVMe disk.
4

CDN origin for static assets and video

Object storage buckets can sit behind a CDN as the origin for images, downloadable files, or video content, so your application server only handles dynamic requests while static bytes are served from edge caches.

Connecting to object storage

Because it speaks the S3 API, any S3-compatible client works without modification:

  • rclone — configure a remote with your endpoint, access key, and secret key, then sync folders with rclone sync /var/backups remote:mybucket
  • s3cmd — quick CLI for one-off uploads: `s3cmd put file.zip s3://mybucket/`
  • boto3 (Python) — point `boto3.client('s3', endpoint_url=...)` at your storage endpoint and use the standard AWS SDK calls your app already knows
  • aws-sdk / @aws-sdk/client-s3 (Node) — same idea, just override the endpoint from the default AWS one

Don't forget CORS if the browser uploads directly

If your frontend uploads files straight to the bucket using a presigned URL (rather than routing through your backend), the bucket needs a CORS policy allowing your domain to `PUT`/`POST`. A typical policy:

  1. 1. AllowedOrigins: your site's domain (avoid `*` in production)
  2. 2. AllowedMethods: GET, PUT, POST
  3. 3. AllowedHeaders: `*` (or restrict to Content-Type, Authorization)
  4. 4. Test with a browser upload before shipping — a missing CORS rule fails silently with a generic network error in devtools

Illustrative pricing

Storage used Approx. rate Monthly cost
50 GB~₹1.5–2/GB₹75–100
250 GB~₹1.5–2/GB₹375–500
1 TB~₹1.5–2/GB₹1,500–2,000

Illustrative rates for budget Indian object storage; actual pricing varies by provider and typically also includes a per-GB outbound bandwidth charge beyond a free allowance.

When you don't need it

If your WordPress site's media library is under a few GB, or your app's uploads are small and infrequent, your VPS's NVMe disk (already included — 40GB on Spark X1 up to 200GB on Pro X5) is simpler, faster to access, and free of an extra bill. Add object storage when disk usage growth is unpredictable, when you need files accessible independent of one server, or when backup/snapshot times start creeping up because of media file bloat.

Quick Summary

  • 1 Object storage = API-accessed, S3-compatible, independent of any one server
  • 2 Good fits: media offload, app uploads, backups, CDN origin
  • 3 Connect via rclone, s3cmd, boto3, or the AWS SDK — no code rewrite needed
  • 4 Set CORS correctly before enabling direct browser uploads
  • 5 Small sites are fine on included VPS disk — add object storage when growth is unpredictable

Need more room to grow?

Start with a Hoststack VPS with generous NVMe storage, and add object storage only once your media or backup footprint actually needs it.

View VPS Plans

Deploy today

Online in 60 seconds. Supported around the clock.

Hosting, VPS and game servers on Mumbai infrastructure — INR billing, GST invoices, and code APEX20 for 20% off your first order.

5,000+ customers served
99.9% uptime SLA
<8ms ping across India
24/7 expert support
WhatsApp Discord