Your S3 endpoint.Your infrastructure.Your data.Permissively licensed.

Run an S3-compatible object store on a laptop, virtual machine, container, or server. Keep familiar SDKs and workflows while choosing where your objects and metadata live. Available for free under the MIT license.

Review S3 Compatibility
git clone https://github.com/jchristn/less3
cd less3/Docker
docker compose up -d
aws --endpoint-url http://localhost:8000 s3 ls
MIT Licensed Docker Ready AWS SDK and CLI Tested Web Dashboard SQLite, SQL Server, MySQL, and PostgreSQL

Use the S3 interface without making every environment depend on a public-cloud endpoint.

Development machines, private networks, remote sites, and controlled environments still need practical object storage. Less3 provides a familiar S3-compatible interface backed by infrastructure you operate.

Develop locally without cloud dependencies

Build and test against an S3-compatible endpoint without requiring a cloud account, shared test bucket, or production data.

Keep data where the deployment requires

Place object storage alongside the application when locality, isolation, connectivity, or operational control matters.

Reuse familiar tools

Connect with documented AWS SDK, AWS CLI, MinIO Client, S3 browser, or direct REST workflows instead of inventing a new storage integration.

Operate visually or through APIs

Use the browser dashboard for day-to-day work and administrative APIs for automation.

Own the storage. Keep the workflow.

One S3-compatible endpoint. Several practical jobs.

Local development and integration testing

Run a predictable local endpoint, create disposable buckets and objects, and exercise supported S3 behavior without touching a shared cloud environment.

Your integration tests should not need a production bucket.

CI/CD pipelines

Start a clean Less3 instance inside a build pipeline, run storage integration tests in isolation, and dispose of the environment when the job finishes.

A clean S3-compatible target for every build.

Private infrastructure

Expose an S3-compatible storage interface from hardware your organization already operates and choose the metadata database that fits the deployment.

Give internal applications a familiar object-storage interface on infrastructure you control.

Remote and controlled environments

Deploy object storage close to applications in remote, isolated, or connectivity-constrained locations where data placement must remain explicit.

Bring a familiar storage API to the data.

Compatibility you can verify.

For an S3-compatible platform, behavior matters more than a logo. Less3 publishes the operations it supports, the clients it tests, and the places where its behavior differs from AWS S3.

AWS SDKsAWS CLIMinIO Client (mc)CloudBerry Explorer for S3S3 BrowserDirect REST integrations using the documented supported surface

Less3 implements a documented subset of the S3 API. It does not claim complete parity with AWS S3. Supported operations, tested clients, and known behavioral differences are published so teams can evaluate compatibility before adopting it.

Service1 operation
  • ListBuckets
Buckets14 operations
  • CreateBucket
  • DeleteBucket
  • HeadBucket
  • ListObjectsV2
  • ListObjectVersions
  • GetBucketAcl
  • PutBucketAcl
  • GetBucketTagging
  • PutBucketTagging
  • DeleteBucketTagging
  • GetBucketVersioning
  • PutBucketVersioning
  • GetBucketLocation
  • ListMultipartUploads
Objects11 operations
  • PutObject
  • GetObject
  • GetObject with Range
  • HeadObject
  • DeleteObject
  • DeleteObjects
  • GetObjectAcl
  • PutObjectAcl
  • GetObjectTagging
  • PutObjectTagging
  • DeleteObjectTagging
Multipart uploads5 operations
  • CreateMultipartUpload
  • UploadPart
  • CompleteMultipartUpload
  • AbortMultipartUpload
  • ListParts

An API you can automate. A dashboard humans can use.

Understand activity, manage storage, administer access, and exercise supported APIs from a browser.

Less3 dashboard home view with storage totals, active credentials, request activity, and operational health details.
Less3 object detail dialog showing bucket, key, ETag, storage class, and download URL metadata.
Less3 API Explorer showing an admin list buckets request and a structured JSON response.

See what is happening

Review bucket, object, and storage totals alongside request activity over selectable time ranges.

Manage buckets and objects

Browse objects and virtual folders, upload and download files, inspect or edit supported text content, manage tags and ACLs, and perform bulk actions.

Manage identities and credentials

Create and update users, tenants, access keys, secret keys, roles, permissions, and assignments through the administrative surface.

Explore APIs interactively

Select supported S3 or administrative operations, choose credentials, submit requests, inspect headers and bodies, and format structured responses.

Start simple. Fit Less3 to your environment.

Run Less3 as a .NET service or deploy the server and dashboard with Docker Compose. Use lightweight defaults for development, then move configuration, metadata, and object storage onto persistent infrastructure.

Deployment choices

  • Build and run from source
  • Publish as a .NET application
  • Build with Docker
  • Run published container images
  • Use Docker Compose for the server and dashboard

Metadata database choices

Choose the metadata backend appropriate to the deployment without changing the client-facing S3-compatible endpoint.

  • SQLite as the simple default
  • SQL Server
  • MySQL
  • PostgreSQL

URL conventions

Use the URL convention that matches the environment and client configuration.

  • Path-style URLs for simple local and internal deployments
  • Virtual-hosted-style URLs for S3-like hostname patterns
Less3 deployment architecture Applications and S3 clients connect to the Less3 endpoint. The endpoint writes object data to disk or a volume and metadata to SQLite, SQL Server, MySQL, or PostgreSQL. The dashboard talks to the Less3 administrative and S3 surfaces. Applications and S3 clientsAWS SDK, AWS CLI, mc, browsers, REST Less3 endpointS3-compatible API and admin surfaces Object dataDisk or mounted volume MetadataSQLite, SQL Server, MySQL, PostgreSQL Admin dashboardManages through Less3 APIs
The dashboard talks to Less3 administrative and S3 surfaces. It is not the storage engine.

Own the implementation, not just the endpoint.

Less3 is MIT licensed. Inspect it, modify it, embed it, redistribute it, or contribute improvements back to the project.

Permissive license

Use, modify, distribute, or embed Less3 under the MIT license while retaining the required notice.

Open compatibility work

Supported APIs, test commands, changelog entries, and compatibility issues are visible in the repository.

Contributions welcomed

Focused pull requests, reproducible bug reports, and documented enhancement proposals are encouraged.

S3-compatible endpoint in seconds.

On first launch, the setup flow creates the initial server configuration, metadata database, and sample data needed to verify the endpoint. Review and replace development defaults before broader use.

git clone https://github.com/jchristn/less3
cd less3/Docker
docker compose up -d

aws --endpoint-url http://localhost:8000 s3 ls

# Dashboard
# http://localhost:3000

Put an S3-compatible endpoint where your application needs it.

Start locally, inspect the supported API surface, and deploy on infrastructure you control.