v4.4.56: external security assessment, 14 findings fixed

S3-compatible object storage, without the weight.

VaultS3 is a self-hosted, S3-compatible object store in a single binary under 80 MB of RAM, with a built-in dashboard, erasure coding, clustering, encryption, and vector search. The maintained, honest alternative to MinIO.

$ docker run -p 9000:9000 eniz1806/vaults3
VaultS3 dashboard
Single
binary, zero deps
17MB
idle RAM
S3
API compatible
AGPL
open source

Everything in one binary

No add-ons, no paywalled console, no surprise tiers. The features you'd pay for elsewhere ship in the box.

S3-compatible API

SigV4 auth, multipart uploads, versioning, presigned URLs, object tagging, lifecycle, CORS, and bucket policies. Drop-in for the AWS SDKs, aws-cli, rclone, and boto3.

Built-in web dashboard

A real management UI: file browser, bucket config, IAM, audit trail, metrics, search, and replication status. No separate console to license.

Cost estimator

A dashboard panel that prices what you are storing against AWS S3, GCS, Cloudflare R2, Backblaze B2 and Wasabi, storage and egress, next to what it costs you to host it yourself. Egress-free, and free.

Encryption your way

Server-side AES-256-GCM, per-bucket keys with rotation and crypto-shredding for multi-tenant isolation, and SSE-C for fully operator-blind objects.

IAM, policies and SSO

Users, groups and S3-compatible policies, with OIDC single sign-on via the authorization-code flow with PKCE, validated against real Keycloak and Authentik deployments.

Virus scanning

Uploads are posted to a scan endpoint you choose, ClamAV or VirusTotal or your own, and anything infected lands in a quarantine bucket instead of your data.

Erasure coding

Reed-Solomon sharding across disks with a background healer that auto-reconstructs degraded objects. Survives losing whole drives.

Raft clustering

Strongly-consistent metadata via HashiCorp Raft, a consistent-hash placement ring, failure detection, and automatic failover. (Beta)

Active-active replication

Bidirectional replication with vector clocks and pluggable conflict resolution, plus one-way async push between sites.

Semantic / vector search

Built-in RAG retrieval: embed text objects via any OpenAI-compatible endpoint and query by similarity. No separate vector database.

Tiering & backup

Transparent hot/cold tiering to local or remote storage, plus scheduled full/incremental backups.

Runs anywhere

One static binary of about 30 MB, a container image that is 14 MB to pull, a Helm chart, a Kubernetes operator, or a FUSE mount. amd64 + arm64.

How it compares

An honest look, including where the others are ahead.

This is a one-person project, and you should know that before you trust it with your data.

I built VaultS3 for myself. I was running MinIO, the pieces I depended on moved behind a paid tier, and I did not want to rent back something I already had. So I wrote my own.

It is on GitHub because I doubt I was the only one in that position. What you get is a maintainer who runs this in production himself and fixes things because he runs into them too. What you do not get is a company standing behind it. That is the trade, and I would rather you made the call with your eyes open.

If something breaks, open an issue. If you would rather fix it yourself, pull requests are welcome.

VaultS3 MinIO Silo RustFS SeaweedFS Garage
GitHub stars 1.3k 61k 2.5k 31k 34k 4.4k
License AGPL-3.0 AGPL-3.0 AGPL-3.0 Apache-2.0 Apache-2.0 AGPL-3.0
Maintained in the open Archived
RAM, idle 17 MiB 184 MiB 101 MiB 70 MiB 98 MiB 23 MiB
Components to run 1 1 1 1 3 1

RAM measured August 2026 on one host, all six idle with no traffic, Docker working set after a 110 second settle. Memory under load is higher for every one of them: VaultS3 peaks near 185 MiB writing 64 MiB objects at concurrency 16. Reproduce it with docker stats --no-stream. MinIO archived its community console and project in 2025-2026, moving features to its paid AIStor offering.

When to pick something else

  • You already run MinIO and want it to keep working: Silo, a community fork by Pigsty that keeps the line maintained and restores the console MinIO cut. Same on-disk format and API, so an existing deployment carries on unchanged.
  • AGPL is a problem for you: RustFS or SeaweedFS, both Apache-2.0. RustFS is also the largest of these by adoption, though its own README still marks distributed mode, lifecycle and KMS as under testing.
  • You need a distributed filesystem, not only object storage: SeaweedFS, with a mature FUSE mount and a filer layer. It runs as master, volume and filer rather than one process.
  • You want the smallest replicated store and do not need erasure coding: Garage, which idles in 23 MiB and is deliberately narrow in scope.

When VaultS3 is the answer

One binary with the smallest footprint of the six, and the things you would otherwise assemble or pay for already in the box: a full dashboard, IAM with policies and OIDC, versioning with diff and rollback, per-bucket encryption with rotation and crypto-shredding, erasure coding, Raft clustering, active-active replication, lifecycle, notifications, a FUSE mount, full-text and vector search, virus scanning, tiering and scheduled backups. No paid tier holds any of it back, and there is no telemetry.

Spin it up in 30 seconds

One binary or one container. No license key, no account, no telemetry. Just object storage that works.