plugin object storage - nself-org/cli GitHub Wiki

Object Storage Plugin

Multi-provider S3-compatible object storage API with presigned URL generation, multipart uploads, and access logging. Pro plugin.

Requires: Basic license tier or higher. nself license set nself_pro_...

Install

nself license set nself_pro_xxxxx...
nself plugin install object-storage

What It Does

Provides a unified S3-compatible object storage API across multiple providers including MinIO, AWS S3, Cloudflare R2, Backblaze B2, Google Cloud Storage, and Azure Blob Storage. Supports presigned URL generation for client-side uploads and downloads, multipart upload orchestration for large files, and full access logging to Postgres. Switch providers by changing a single env var with no application code changes.

Configuration

Env Var Default Description
OBJECT_STORAGE_PORT 3301 Port the Object Storage plugin service listens on
OBJECT_STORAGE_PROVIDER Storage provider: minio, s3, r2, b2, gcs, azure
OBJECT_STORAGE_BUCKET Default bucket name
OBJECT_STORAGE_REGION Storage region (provider-dependent)

Ports

Port Purpose
3301 Object Storage plugin HTTP service

Database Tables

5 tables added to your Postgres database.

  • np_object_storage_buckets, Bucket metadata and configuration
  • np_object_storage_objects, Object index and metadata
  • np_object_storage_presigned, Presigned URL issuance log
  • np_object_storage_multipart, In-progress and completed multipart uploads
  • np_object_storage_access_log, Object access and operation audit log

Nginx Routes

Route Description
/storage/ Proxied to Object Storage plugin service on port 3301