Setting up RustFS as an Amazon S3 replacement

A post from the future!

You may have noticed this post is dated in the future. I do this to keep myself on a regular writing schedule and to mask the flurries of activity I'm prone to.

Please feel free to read and share as you normally would.

I was at TYPO3 Camp London recently when Martin Helmich casually dropped that RustFS was a solid MinIO replacement. That got my attention.

I've written about MinIO before - speeding up Gitlab CI and caching Gitlab assets - and it's been great as a self-hosted S3 alternative. But I'm always up for trying new toys, especially when they promise improvements.

Turns out RustFS has been benchmarked against MinIO and is faster across the board. That was enough to convince me to give it a go.

Server setup

We're running RustFS on a dedicated Ubuntu server with Hetzner (our go-to VPS provider). I went with an Intel CX32:

  • 4 vCPU
  • 8 GB RAM
  • 80 GB Disk

Note: You'll need an external IPv4 address - rustfs.com only supports IPv4 for setup.

Installation

Once your VPS is up, installation is pleasantly straightforward. First, make sure you've got unzip:

apt update && apt upgrade
apt install zip unzip

Then grab the install script:

curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh

Follow the CLI prompts and you're sorted.

Setup

After installation, hit up the web interface at http://[server-ip]:9000. Default credentials are rustfsadmin for both username and password.

Change that immediately by editing:

/etc/default/rustfs

Once logged in, you can create buckets and extra users or access keys - which is what I've been using for Gitlab CI.

CLI

View this post on Github

You might also enjoy…

Mike Street

Written by Mike Street

Mike is a CTO and Lead Developer from Brighton, UK. He spends his time writing, cycling and coding. You can find Mike on Mastodon.