Anested CloudAnestedCloud
Back to docs
Object storageUpdated August 6, 2026 · 8 min read

Storing files with Nest Storage

S3-compatible object storage for user uploads, backups and static assets — create a bucket, get keys, and upload from your code with any S3 SDK.

The basics

What is Nest Storage and when should I use it?

Nest Storage is Anested Cloud's object storage: an S3-compatible service for storing files — user uploads, images and video, database backups, log archives, or the built assets of a static site. Use it whenever files shouldn't live on your app server's local disk, which is almost always: object storage scales without limit, survives server rebuilds, and serves files fast without loading your app.

Because it speaks the S3 API, every existing S3 tool and SDK works with it unchanged — you point them at the Nest Storage endpoint and your keys.

How do I create a bucket and get API keys?

In the Storage section of your dashboard, create a bucket (your container for files) and generate an access key pair. You'll get an access key, a secret key and the S3 endpoint URL. Keep the secret key safe — treat it like a password and store it in your app's environment, never in source control.

Using it from your app

How do I upload files from my code?

Use any S3 SDK — for JavaScript, the AWS SDK v3. Point it at the Nest Storage endpoint, pass your keys, and call PutObject. The same three settings (endpoint, access key, secret key) work from Python (boto3), Go, PHP or the aws CLI.

import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";

const s3 = new S3Client({
  endpoint: process.env.STORAGE_ENDPOINT, // Nest Storage endpoint
  region: "us-east-1",
  credentials: {
    accessKeyId: process.env.STORAGE_KEY,
    secretAccessKey: process.env.STORAGE_SECRET,
  },
  forcePathStyle: true,
});

await s3.send(new PutObjectCommand({
  Bucket: "my-bucket", Key: "uploads/logo.png", Body: fileBuffer,
}));

How do I let users upload directly without proxying through my server?

Generate a presigned URL on your backend and hand it to the browser — the client then PUTs the file straight to Nest Storage, so large uploads never pass through (or tie up) your app server. This is the standard pattern for profile pictures, attachments and media, and keeps your secret key on the server where it belongs.

Serving and cost

How do I serve files publicly or host a static site?

Mark objects (or a bucket prefix) public and Nest Storage serves them over HTTPS directly, no app server involved — perfect for images, downloads, or a fully static site built by Vite, Next export, Hugo or a site builder. Keep private files private and reach them through short-lived presigned URLs instead.

How is storage billed?

You pay for what you store, measured from the dashboard, with a free allowance to start. There are no per-request surprises to reason about for typical apps — usage is shown live, so you can watch it grow with your data. It's the cheapest place to keep large or infrequently-changed files compared to sizing up an app server's disk.

Still stuck?

Our team can look at your site directly — reach out and we'll help you sort it.

Contact support