Self-hosting RustFS the easy way

Self-hosting RustFS the easy way

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
5 min

RustFS is a high-performance distributed storage system built with Rust that is fully compatible with Amazon S3 APIs. If you need a self-hosted alternative to AWS S3 or MinIO, RustFS is a solid choice - it's open source, fast, and ships with a built-in web console for managing buckets and objects.

Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get RustFS up and running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.

Prerequisites

Before deploying, ensure you have a Sliplane account (free trial available).

Quick start

Sliplane provides one-click deployment with presets.

SliplaneDeploy RustFS >
  1. Click the deploy button above
  2. Select a project
  3. Select a server (If you just signed up you get a 48-hour free trial server)
  4. Click Deploy!

About the preset

The one-click deploy above uses Sliplane's RustFS preset. Here's what it includes:

  • The official rustfs/rustfs Docker image with the 1.0.0-alpha.20-production tag
  • Persistent storage mounted to /data for your buckets and objects
  • The built-in web console enabled on port 9001
  • S3-compatible API running on port 9000 (accessible internally)
  • Auto-generated access key and secret key for authentication
  • CORS enabled by default for broad compatibility

Next steps

Once RustFS is running on Sliplane, access the web console using the domain Sliplane provided (e.g. rustfs-xxxx.sliplane.app).

Default credentials

The preset generates random credentials for you. Find them in your service's environment variables on Sliplane:

  • Access Key: value of RUSTFS_ACCESS_KEY
  • Secret Key: value of RUSTFS_SECRET_KEY

Use these to log into the web console and to connect S3-compatible clients.

Using the S3 API

The S3 API runs on port 9000 inside the container. To use it from other services on the same Sliplane server, connect via the internal hostname (e.g. rustfs-xxxx.internal:9000). For external access, you can create a second RustFS service exposing port 9000 or use the internal network with an SSH tunnel.

Environment variables

Here are some useful environment variables you can customize:

VariableDefaultDescription
RUSTFS_ACCESS_KEY(generated)Access key for authentication
RUSTFS_SECRET_KEY(generated)Secret key for authentication
RUSTFS_CONSOLE_ENABLEtrueEnable or disable the web console
RUSTFS_CORS_ALLOWED_ORIGINS*CORS allowed origins for the S3 API
RUSTFS_SERVER_URL(empty)Public URL of the S3 API endpoint

Logging

RustFS logs to stdout by default, which works well with Sliplane's built-in log viewer. For general Docker log tips, check out our post on how to use Docker logs.

Troubleshooting

If the web console doesn't load, check that RUSTFS_CONSOLE_ENABLE is set to true. If you see authentication errors, verify your access key and secret key in the environment variables. You can also check the service logs in Sliplane for more details.

Cost comparison

You can also self-host RustFS with other cloud providers. Here is a pricing comparison for the most common ones:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro plan floor, usage-based, bandwidth billed separately
Click here to see how these numbers were calculated.

(Assuming an always-on instance running 730 hrs/month)

  • Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU).
  • Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
  • Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.

Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.

FAQ

What can I use RustFS for?

RustFS is great for any use case that needs S3-compatible object storage: file uploads, backups, media storage, data lakes, or as a drop-in replacement for AWS S3 in your self-hosted stack. It works with any S3-compatible client or SDK.

How do I connect an S3 client to RustFS?

Use the S3 endpoint URL (your Sliplane internal hostname with port 9000), along with the access key and secret key from your environment variables. Most S3 SDKs and tools (like aws-cli, mc, or s3cmd) support custom endpoints. Set the endpoint to http://rustfs-xxxx.internal:9000 for services on the same server.

How do I update RustFS?

Change the image tag in your service settings on Sliplane and redeploy. Check Docker Hub for the latest stable version.

Are there alternatives to RustFS?

Yes, popular alternatives include MinIO (the most established S3-compatible server), SeaweedFS (distributed storage with FUSE mount support), and Garage (lightweight and geo-distributed). For cloud-hosted options, check out our post on 5 cheap object storage providers.

Is RustFS production-ready?

RustFS is currently in alpha (the version tag includes alpha), so it's best suited for development, testing, and non-critical workloads. Keep an eye on the official releases for stable versions. That said, it's already fully functional and compatible with the S3 API, so it's a great way to get started with self-hosted object storage.

Self-host RustFS now - It's easy!

Sliplane gives you everything you need to run your own S3-compatible storage without server hassle.