Railway

Deploy RustFS | Open-Source MinIO Alternative on Railway

Self Host RustFS. S3-compatible object storage with web console

Deploy RustFS | Open-Source MinIO Alternative on Railway

Just deployed

/data

RustFS logo

Deploy and Host RustFS on Railway

Deploy RustFS on Railway to get a high-performance, S3-compatible object storage server running in minutes. RustFS is an open-source storage system written in Rust that delivers 2.3x faster performance than MinIO for small object payloads, making it ideal for AI/ML pipelines, data lakes, and media storage backends.

Self-host RustFS on Railway with this template, which pre-configures the RustFS server with persistent volume storage, a web-based admin console, S3 API access, and secure auto-generated credentials — ready to accept uploads via any S3-compatible client.

Getting Started with RustFS on Railway

After deploying, open your Railway-provided URL and append /rustfs/console/ to access the RustFS web console. Log in using the access key and secret key from your Railway environment variables. From the console, create your first storage bucket by clicking Create Bucket, then configure access policies and lifecycle rules. Upload files directly through the console UI, or connect any S3-compatible client by pointing it at your Railway public URL with port 9000 as the endpoint. Use the AWS CLI with aws s3 --endpoint-url https://your-domain.up.railway.app to interact programmatically.

RustFS dashboard screenshot

About Hosting RustFS

RustFS is an Apache 2.0 licensed, S3-compatible distributed object storage system built entirely in Rust. It solves the problem of needing fast, self-hosted object storage without the AGPL licensing restrictions of MinIO.

  • S3-compatible API — works with any AWS SDK (boto3, aws-sdk-js, aws-sdk-rust), AWS CLI, rclone, and restic
  • Web admin console — browser-based bucket management, user administration, and file browsing
  • Multi-part uploads — handles large files with chunked parallel uploads
  • Presigned URLs — generate temporary download/upload links for secure sharing
  • Event notifications — webhook, MQTT, and NATS notification support for bucket events
  • Lifecycle management — automated object expiration and storage tiering rules
  • AWS Signature v2/v4 — full authentication compatibility with existing S3 tooling
  • OIDC/SSO support — integrate with external identity providers for console access

Why Deploy RustFS on Railway

One-click deployment with persistent storage and automatic HTTPS:

  • Pre-configured volume at /data for durable object storage
  • Auto-generated access credentials — no default passwords
  • Web console accessible immediately at /rustfs/console/
  • S3 API endpoint ready for any compatible client or SDK
  • Apache 2.0 license — no AGPL restrictions for commercial use
  • Scales with Railway's infrastructure — no server management

Common Use Cases for Self-Hosted RustFS

  • AI/ML data pipeline storage — store training datasets, model checkpoints, and RAG corpora with superior small-object performance
  • S3-compatible development environment — drop-in replacement for AWS S3 during local development and CI/CD testing
  • Media and backup storage — backend for Nextcloud, Immich, restic, or rclone with lifecycle management
  • Data lake backend — serve as the S3 storage layer for Spark, Trino, and other analytics query engines

Dependencies for RustFS on Railway

This template deploys a single service:

  • RustFSrustfs/rustfs:latest (S3 API server + web console)

No external databases are required. RustFS stores all metadata alongside object data on disk.

Environment Variables Reference for RustFS

VariableDescriptionExample
RUSTFS_ACCESS_KEYRoot access key for S3 API authenticationAuto-generated secret
RUSTFS_SECRET_KEYRoot secret key for S3 API authenticationAuto-generated secret
RUSTFS_VOLUMESStorage volume path/data
RUSTFS_CONSOLE_ENABLEEnable web admin consoletrue
RUSTFS_CORS_ALLOWED_ORIGINSCORS origins for S3 API*
RUSTFS_OBS_LOGGER_LEVELLog verbosity levelinfo

Deployment Dependencies

Hardware Requirements for Self-Hosting RustFS

ResourceMinimumRecommended
CPU2 cores4+ cores
RAM4 GB8 GB
Storage10 GB50+ GB (depends on data volume)
RuntimeDocker or bare metal LinuxDocker with persistent volume

Self-Hosting RustFS with Docker

Pull and run RustFS with Docker:

docker run -d \
  --name rustfs \
  -p 9000:9000 \
  -p 9001:9001 \
  -v $(pwd)/data:/data \
  -e "RUSTFS_ACCESS_KEY=your-access-key" \
  -e "RUSTFS_SECRET_KEY=your-secret-key" \
  -e "RUSTFS_VOLUMES=/data" \
  -e "RUSTFS_CONSOLE_ENABLE=true" \
  -e "RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001" \
  rustfs/rustfs:latest

Or use Docker Compose:

version: "3.9"
services:
  rustfs:
    image: rustfs/rustfs:latest
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      - RUSTFS_VOLUMES=/data
      - RUSTFS_ADDRESS=0.0.0.0:9000
      - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
      - RUSTFS_CONSOLE_ENABLE=true
      - RUSTFS_ACCESS_KEY=changeme
      - RUSTFS_SECRET_KEY=changeme-secret
    volumes:
      - rustfs_data:/data
    restart: unless-stopped

volumes:
  rustfs_data:

Access the S3 API at http://localhost:9000 and the web console at http://localhost:9001/rustfs/console/.

RustFS vs MinIO — Which S3-Compatible Storage to Self-Host?

FeatureRustFSMinIO
LicenseApache 2.0AGPLv3
LanguageRustGo
4KB object performance2.3x fasterBaseline
Large object performanceComparableSlightly faster
Production maturityAlphaBattle-tested
Web consoleYesYes
S3 compatibilityFullFull

RustFS offers a permissive Apache 2.0 license and superior small-object performance, making it attractive for commercial deployments and AI/ML workloads. MinIO has a longer track record but its AGPL license requires source disclosure for network services.

How Much Does RustFS Cost to Self-Host?

RustFS is completely free and open source under the Apache 2.0 license. There are no paid tiers, enterprise editions, or feature gates. The only cost is infrastructure — on Railway, you pay only for the compute and storage resources your RustFS instance uses. The Apache 2.0 license allows unrestricted commercial use without copyleft obligations.

FAQ

What is RustFS and why self-host it on Railway? RustFS is an open-source, S3-compatible object storage server written in Rust. Self-hosting on Railway gives you full control over your data with automatic HTTPS, persistent storage, and no vendor lock-in to cloud storage providers like AWS S3.

What does this Railway template deploy for RustFS? This template deploys a single RustFS service with a persistent volume at /data, auto-generated access credentials, a web admin console, and an S3-compatible API endpoint — all behind Railway's HTTPS edge proxy.

Why does the RustFS template need a persistent volume? RustFS stores all uploaded objects and their metadata directly on disk. Without a persistent volume, all stored data would be lost on every redeploy. The volume at /data ensures your buckets and objects survive container restarts.

How do I connect AWS CLI to self-hosted RustFS on Railway? Configure the AWS CLI with your RustFS credentials and endpoint: aws configure with your access/secret keys, then use aws s3 ls --endpoint-url https://your-rustfs-domain.up.railway.app to list buckets. Any S3 SDK works the same way — just change the endpoint URL.

Can I use RustFS as a drop-in replacement for MinIO? Yes. RustFS implements the same S3-compatible API as MinIO. Applications using MinIO's S3 endpoint can switch to RustFS by changing the endpoint URL and credentials. RustFS also uses a similar environment variable naming pattern (RUSTFS_ instead of MINIO_).

Is RustFS ready for production use? RustFS is currently in alpha (v1.0.0-alpha). The project explicitly notes it is not yet recommended for production environments. For non-critical workloads, development environments, and evaluation purposes, it works well on Railway with full S3 API compatibility.


Template Content

More templates in this category

View Template
Garage S3 Storage
Ultra-light S3 server: fast, open-source, plug-and-play 🚀

PROJETOS
View Template
Postgres Backup to Cloudflare R2 (S3-Compatible)
Automated PostgreSQL backups to S3-compatible storage with encryption

Artour
View Template
ReadySet
A lightweight caching engine for Postgres

Milo