Spin up a data platform quickly.

RustFS

S3-compatible object storage with a built-in web console — for backups, assets and any app that speaks S3, on your own server.

2 GB minimum (2 GB recommended) RAM 1 vCPU Port 9001 (console) · 9000 (S3 API) In validation

In validation

Automatic installation for this solution is ready and currently going through our tests on a real server. Ordering will open as soon as validation is complete.

Tech stack

DockerRust
Minimum RAM2 GB minimum (2 GB recommended)
Minimum CPU1 vCPU
Default port9001 (console) · 9000 (S3 API)
Compatible OSChoice of Linux distributions

RustFS is an S3-compatible object storage server written in Rust that ships with an integrated web console. It exposes the standard S3 API — compatible with existing tools such as rclone, restic, aws-cli and any S3 SDK — on your own VPS, so there is no cloud provider account, no egress fee and no per-request billing involved.

What makes RustFS distinct from similar projects is the built-in web console available on port 9001: you manage buckets, upload or download objects, configure access policies and read server metrics entirely from a browser without installing additional tools. The S3 API on port 9000 is exposed separately for programmatic access by your applications and backup clients.

The deployment installed here runs a single Rust container with a named Docker volume for persistent data. S3 credentials — an access key and a secret key — are generated at installation time and surfaced in your ServOrbit dashboard: you copy them straight into your backup tool or application configuration.

Because the API is the standard S3 one, replacing a cloud storage provider with this self-hosted instance is a matter of changing the endpoint URL and the credentials in your configuration — your existing tooling keeps working unchanged.

Key features

S3-compatible API — rclone, restic, aws-cli, mc and any S3 SDK work without modification.
Built-in web console (port 9001) for managing buckets, objects, access policies and metrics.
Access key and secret key generated at installation — ready to paste into any S3 client.
Single Rust container with one named volume: nothing to install beyond Docker.
S3 API liveness endpoint at /health for monitoring and readiness checks.
Apache 2.0 — no feature held back behind a commercial edition.

When to use this solution?

1

Off-site backup target

Point restic, Borg or Duplicati at your own S3 endpoint rather than a cloud provider. Only the endpoint URL and the credentials differ — your existing backup scripts work unchanged. Your data stays on infrastructure you control.

2

Application file storage

Move your application's file uploads — attachments, avatars, generated PDFs — off the application server's disk and into RustFS. Any language's S3 library connects to it, keeping the option to relocate data later without rewriting upload code.

3

Development and CI S3 sandbox

Give every developer environment and CI pipeline a real, isolated S3 endpoint without opening a cloud account or circulating production credentials. Buckets are created via the web console or the mc client in seconds.

4

Static asset origin for a CDN

Serve your static files — images, fonts, build artifacts — from a RustFS bucket and let a CDN cache them at the edge. The origin stays on your own server; no object-storage subscription is involved.

Deploy RustFS on your VPS

Guide optimized for ServOrbit Cloud VPS.

01

Order the VPS

Order a ServOrbit VPS, then select RustFS from the Marketplace. RustFS runs comfortably on 2 GB of RAM; size the disk to match the data you plan to store.

02

What the installation deploys

A single rustfs/rustfs container starts with a named volume (rustfs-data) for persistent object data. The S3 API listens on port 9000 and the web console on port 9001, both bound to the loopback interface. Generated S3 credentials are written to the VPS .env file and surfaced in your ServOrbit dashboard.

03

Open the web console

Forward port 9001 via an SSH tunnel: ssh -L 9001:127.0.0.1:<port> root@<vps-ip> (the port shown in your dashboard). Then open http://localhost:9001/rustfs/console/ in your browser and log in with the credentials from your ServOrbit dashboard.

04

Connect your first S3 client

Configure your S3 client with http://localhost:9000 as the endpoint (via SSH tunnel: ssh -L 9000:127.0.0.1:9000 root@<vps-ip>), the region us-east-1, and the generated access key and secret key. Run mc alias set mystore http://localhost:9000 <access-key> <secret-key> to verify connectivity.

05

Create buckets and set policies

Create buckets from the web console or with mc mb mystore/my-bucket. Restrict access with S3 bucket policies or create additional key pairs with limited permissions for individual applications. Configure public-read policies for static assets you want served without authentication.

Frequently asked questions

No. RustFS works without a domain via SSH tunnels: ssh -L 9001:127.0.0.1:<port> root@<ip> for the console and ssh -L 9000:127.0.0.1:9000 root@<ip> for the S3 API. If you attach a domain from your ServOrbit dashboard, nginx proxies the console port over HTTPS automatically. You can also use the free {app}.{dns_slug}.servorbit-dns.com subdomain included with every VPS.

Spin up a data platform quickly.

RustFS isn't orderable yet.

Automatic installation for this solution is ready and currently going through our tests on a real server. Ordering will open as soon as validation is complete.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.

Message us on WhatsAppopens in a new tab