A distributed POSIX file system that stores data in object storage like S3 and metadata in Redis, MySQL, SQLite, or TiKV.
versity/versitygw
An S3-compatible object storage server that exposes a POSIX filesystem, or other backends, through the S3 API.
Open-source alternative to:MinIO
- Stars
- 3,065
- Forks
- 327
- Open issues
- 125
- Last commit
- yesterday
What is it?
The Versity S3 Gateway is a Go server that accepts standard S3 API requests and translates them into operations on a backend storage system. The README lists POSIX filesystems, Versity's ScoutFS, Azure Blob Storage, and other S3 servers as supported backends, so existing storage can be accessed by S3-based applications without migrating data.
A single command can turn a local directory into an S3 endpoint, with options for account files, object versioning directories, and ports. The gateway is stateless, so multiple instances can run behind a load balancer to increase throughput. It is built on the Fiber web framework and uses aws-sdk-go-v2 for compatibility with AWS S3.
The project also includes an optional web GUI for management and browsing, static website hosting through bucket-based routing, and Helm chart and Docker images for deployment on Kubernetes and containers.
Key features
- 01Translates S3 API requests into operations on POSIX, ScoutFS, Azure Blob, or S3 backends.
- 02Starts an S3 server over a local directory with a single command.
- 03Stateless design allows multiple instances to scale out behind a load balancer.
- 04Supports object versioning through a configurable versioning directory.
- 05Offers an optional web GUI for management and browsing.
- 06Provides static website hosting with virtual-host routing.
Use cases
- Exposing an existing filesystem to S3-based applications without copying data.
- Testing S3 integrations locally with a lightweight, disposable endpoint.
- Adding S3 access in front of Azure Blob Storage or another S3 server.
- Running a clustered S3 gateway on Kubernetes for archival or HPC workloads.
Quick start
- 1
Create the test directories
mkdir /tmp/vgw /tmp/vers - 2
Run the gateway with the posix backend
ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw - 3
Download the binary from the releases page or run the Docker image
Things to know
- Setup relies on the wiki for details, and the README does not document a package-manager install.
- Production use requires self-hosting and configuration effort.
Topics
FAQ
- What is versitygw?
- An S3-compatible object storage server that exposes a POSIX filesystem, or other backends, through the S3 API. The Versity S3 Gateway is a Go server that accepts standard S3 API requests and translates them into operations on a backend storage system. The README lists POSIX filesystems, Versity's ScoutFS, Azure Blob Storage, and other S3 servers as supported backends, so existing storage can be accessed by S3-based applications without migrating data.
- Is versitygw free to use? What license does it have?
- versitygw is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is versitygw still maintained?
- Actively maintained. The last commit to versitygw was on Oct 23, 2026.
- What can I use versitygw for?
- Exposing an existing filesystem to S3-based applications without copying data. Testing S3 integrations locally with a lightweight, disposable endpoint. Adding S3 access in front of Azure Blob Storage or another S3 server. Running a clustered S3 gateway on Kubernetes for archival or HPC workloads.
- How do I install versitygw?
- Create the test directories: mkdir /tmp/vgw /tmp/vers Run the gateway with the posix backend: ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw Download the binary from the releases page or run the Docker image
- Where can I get versitygw?
- The source code and installation instructions are on GitHub: https://github.com/versity/versitygw
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A high-performance, S3-compatible object storage system written in Swift, positioned as an open alternative to MinIO and RustFS.
A distributed storage system that serves S3 object storage, POSIX file systems, and Iceberg/Lance tables from one binary, built for billions of small files.
RustFS is an S3-compatible, distributed object storage system written in Rust, with Apache 2.0 licensing and a web console.
Reference Go server for the tus protocol, enabling resumable HTTP file uploads to local disk, Google Cloud Storage or S3.
A Go tool that mounts multiple cloud drives and S3/WebDAV-style storage as one local folder, with rclone-compatible end-to-end encryption.