Run rustfs with Docker Compose

Following MinIO’s license transition to AGPL, I began searching for a lightweight and efficient S3-compatible storage alternative. rustfs has proven to be an excellent solution, offering both speed and simplicity. In this guide, I will share a Docker Compose configuration to help you get your own rustfs instance up and running quickly.

services:
  rustfs:
    image: rustfs/rustfs:latest
    container_name: rustfs-server
    ports:
      - "9000:9000" # S3 API
      - "9001:9001" # Web Console
    environment:
      - RUSTFS_VOLUMES=/data
      - RUSTFS_ADDRESS=0.0.0.0:9000
      - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
      - RUSTFS_ACCESS_KEY=<YOUR_ACCESS_KEY>
      - RUSTFS_SECRET_KEY=<YOUR_SECRET_KEY>
    volumes:
      - ./data:/data
    restart: unless-stopped

To launch the service, execute the following command:

docker compose up -d

Transitioning from MinIO to rustfs

If you are looking to move your existing data from MinIO, refer to this detailed walkthrough: Migrating from MinIO to RustFS: A Technical Guide.