Alternatives to MinIO for single-node local S3

(rmoff.net)

39 points | by rmoff 3 hours ago

16 comments

  • cadamsdotcom 17 minutes ago
    > 2026-03-02: Ruohang Feng has forked MinIO to pgsty/minio and is promising to maintain a stable, CVE-patched, distribution.

    This is what I went with.

    I use it in end to end tests as an S3 simulator that starts and stops instantly and reads & writes to a local directory, - as you'd expect it's great in that role. No complaints. Given the fork's maintainer puts their real name on it & stakes their reputation, you'd assume it can be trusted - but my use case is simpler than most.

  • Jedd 34 minutes ago
    A weird target, the author has.

    The title is 'for single node local S3' but what they actually mean is 'for minio-compatibility', which is an entirely different question.

    When I abandoned minio a year or so ago, I also surveyed the options, and settled on Garage. It lacked the GUI, but felt about the same complexity as minio. Perhaps a smidge more complexity, as I moved to 3-node and 5-node separate instances of garage, running as containers under Nomad.

    I don't recall it being onerous, but I was looking for some basic S3-alike capabilities, not just minio-alike.

    (How many people set out to build an object storage system with some number of AWS S3 primitives, but primarily try to match a third-party proprietary system's foibles?)

    > So, Garage does work, but gosh…it is not just a drop-in replacement in terms of code changes.

    I think in terms of actual code that uses local S3, it pretty much was a drop-in replacement. (I have multiple distribution/registry, Grafana Loki / Mimir, influx3 - all backing onto my object storage system, and the config changes there were modest - key+secret, and url - just as you'd expect.)

  • c0balt 1 hour ago
    A notable mention should also be Versity GW, https://github.com/versity/versitygw/
    • markusw 44 minutes ago
      This is what I switched to as well, works nicely. Can have just a folder as a backend as well, which makes things pretty simple.
  • mickael-kerjean 37 minutes ago
    Filestash (https://github.com/mickael-kerjean/filestash) has a s3 gateway plugin that I made. It proxy the S3 traffic to any downstream storage: SFTP, FTP, another S3, SMB, NFS, IPFS, ...
  • pveierland 1 hour ago
    Garage added an automatic configuration feature in v2.3.0 that makes it easier to set up single nodes:

      garage server --single-node --default-bucket
    
    https://garagehq.deuxfleurs.fr/documentation/quick-start/
  • stevefan1999 19 minutes ago
    I use JuiceFS https://github.com/juicedata/juicefs if you think the Chinese are worth the trust
    • cyanydeez 17 minutes ago
      If it's open source, you don't do daily pulls and you have a competent AI to crawl the codebase; why does it matter the ethnicity at this point?
      • philipallstar 5 minutes ago
        Ethnicity never mattered (other than for the people that think too many white people are doing something. It's culture, in particular government ties, that are the worry with China.
  • aljarry 1 hour ago
    I did try seaweedfs ~half a year ago and I had issues with setting up users through terraform module (if I recall correctly, users endpoint were not correctly responding on delete), and lack of S3 expiry rules (you needed to use seaweedfs configuration or API for that). Other than that, I was pretty happy with it.
  • dalton74 1 hour ago
    For single-node local S3, I often just use `s3fs` mounting a local directory. MinIO always felt like overkill for simple dev.
  • pritambaral 42 minutes ago
    Incus (spiritual successor to LXD, after the fork-off by Canonical) has a simple S3 server built-in.
    • weikju 5 minutes ago
      Isn’t that just minio? At least in LXD it’s minio.
  • prologic 1 hour ago
    One alternative worth looking at is S2: https://github.com/mojatter/s2
  • rrhjm53270 1 hour ago
    I enjoyed the smooth transition from minio to RustFS quite a lot.
    • PunchyHamster 42 minutes ago
      I didn't. Hit bug after bug after bug in RustFS. Current version seems to work fine for now but it's definitely "new project"

      On flipside the project maintainers react very fast on any bug I submitted and it's fixed pretty quickly, so not really complaint, just warning

  • de6u99er 59 minutes ago
    I am using Garage for my local DEV environment.

    https://garagehq.deuxfleurs.fr/

  • SSLy 1 hour ago
    or rclone serve
    • 8fingerlouie 33 minutes ago
      Came to say this.

      If we're just talking verifying S3 connectivity, simply spinning up "rclone serve s3" appears to be the simplest solution.

  • earth-tattoo 44 minutes ago
    Shout-out to rustfs.
  • rugma 1 hour ago
    Rustfs, works pretty well for me
  • sdcfgy 1 hour ago
    Just use the damn file system. Why does everyone have to put HTTP between everything?
    • Mashimo 19 minutes ago
      Because if you ship a tool with s3 support, the customer can decide if he wants to store in the cloud, or spin up a docker container locally.
    • wink 1 hour ago
      Because this is about having a local standin for S3, which (in a production deploy) often solves a different problem than a (local) filesystem.

      This post does not even mention the S3 API as a replacement for a filesystem.

    • Tostino 1 hour ago
      Because you want to mock the tools you are going to use in production locally or in CI. Really good reasons to not totally change what you are doing in your app between environments.
    • xienze 1 hour ago
      Because you might be running something that only talks S3 and want to point it at something local.