Serving static sites straight from object storage
If all you're shipping is a landing page, a docs site or the build output of your frontend, a full web server is overkill. A public bucket on Nest Storage serves the same files with less to configure, less to patch and less to pay for.
When a bucket beats a server
A portfolio, a documentation site or the build output of a SPA is just a folder of files. There's no PHP to execute and no Node process to keep alive — so renting a machine to run nothing but a file server is wasted effort and wasted money.
Object storage flips the deal: your files are stored durably across multiple disks, there's zero maintenance — no OS updates, no restarts, no monitoring — and you pay only for the storage you use and the bandwidth you serve. For most static sites that comes to a few rupees a month.
Step 1: create a public bucket
Open the Nest Storage dashboard, create a new bucket and toggle public read access. From that moment, every object in the bucket gets a stable URL that anyone can fetch — exactly what a static site needs.
Now upload your build folder. Drag and drop works fine for a one-off deploy; for CI pipelines, push the files through the API instead. Keep the folder structure intact so relative paths in your HTML keep resolving.
Step 2: set cache headers correctly
Modern build tools put a content hash in asset filenames (app.3f9c1a.js), which means a given URL never changes content. Those files can be cached forever: set a one-year max-age with the immutable flag and browsers will never ask for them again.
index.html is the exception — its name never changes but its content does on every deploy. Give it a zero TTL with must-revalidate so browsers always check for a fresh copy. That combination gives you instant repeat visits and instant rollouts at the same time.
# hashed assets — cache forever
Cache-Control: public, max-age=31536000, immutable
# index.html — always revalidate
Cache-Control: public, max-age=0, must-revalidateStep 3: point your domain at it
Nobody wants a raw storage URL in their address bar. Add a CNAME record — say, files.yourdomain.com — pointing at your bucket's endpoint, then register the domain in the bucket settings. A TLS certificate is issued and renewed automatically, so HTTPS just works.
You can also set a custom 404 page for the bucket. For a SPA, point the 404 at index.html so client-side routing keeps working on deep links; for a docs site, upload a friendly not-found page instead.
What about dynamic bits?
Most 'static' sites still have one or two dynamic corners — a contact form, a search box, a visit counter. That's no reason to bring back a full server stack for the whole site.
Pair the bucket with a small API on a VPS, or lean on hosted widgets like analytics and a chatbot. The static files stay on Nest Storage, and the dynamic parts stay tiny:
- Forms → post to a tiny API on the smallest VPS plan
- Search → prebuild an index at deploy time
- Analytics → one script tag, no server required
Ready to put it into practice?
Spin up a server, a database or a bucket — free tiers included.