diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 78fbee26..42981b2e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -60,6 +60,11 @@ on: required: false default: "main-latest" type: string + force_rebuild: + description: "Force rebuild even if binary exists (useful for testing)" + required: false + default: false + type: boolean env: CARGO_TERM_COLOR: always @@ -111,30 +116,41 @@ jobs: # Manual trigger with version input input_version="${{ github.event.inputs.version }}" version="${input_version}" + force_rebuild="${{ github.event.inputs.force_rebuild }}" + + echo "🎯 Manual Docker build triggered:" + echo " 📋 Requested version: $input_version" + echo " 🔧 Force rebuild: $force_rebuild" case "$input_version" in "latest") build_type="release" create_latest=true - echo "🚀 Docker manual build with latest version" + echo "🚀 Building with latest stable release version" ;; "main-latest") build_type="development" version="main-latest" - echo "🛠️ Docker manual build with main-latest version" + echo "🛠️ Building with main branch latest development version" ;; - v*.*.*) + v[0-9]*) build_type="release" create_latest=true - echo "📦 Docker manual build with specific release version: $input_version" + echo "📦 Building with specific release version: $input_version" ;; - dev-*) + v*alpha*|v*beta*|v*rc*) + build_type="prerelease" + is_prerelease=true + echo "🧪 Building with prerelease version: $input_version" + ;; + dev-[a-f0-9]*) build_type="development" - echo "🔧 Docker manual build with specific dev version: $input_version" + echo "🔧 Building with specific development version: $input_version" ;; *) build_type="development" - echo "🔧 Docker manual build with custom version: $input_version" + echo "🔧 Building with custom version: $input_version" + echo "⚠️ Warning: Custom version format may not follow standard patterns" ;; esac elif [[ "${{ startsWith(github.ref, 'refs/tags/') }}" == "true" ]]; then diff --git a/README.md b/README.md index 6a894829..a10051e7 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ [](https://rustfs.com) -
RustFS is a high-performance distributed object storage software built using Rust
--English | 简体中文 | +English | 简体中文 | - Deutsch | - Español | - français | - 日本語 | - 한국어 | - Português | + Deutsch | + Español | + français | + 日本語 | + 한국어 | + Português | Русский
RustFS is a high-performance distributed object storage software built using Rust, one of the most popular languages worldwide. Along with MinIO, it shares a range of advantages such as simplicity, S3 compatibility, open-source nature, support for data lakes, AI, and big data. Furthermore, it has a better and more user-friendly open-source license in comparison to other storage systems, being constructed under the Apache license. As Rust serves as its foundation, RustFS provides faster speed and safer distributed features for high-performance object storage. - > ⚠️ **RustFS is under rapid development. Do NOT use in production environments!** ## Features @@ -75,7 +72,7 @@ Stress test server parameters To get started with RustFS, follow these steps: -1. **One-click installation script (Option 1)** +1. **One-click installation script (Option 1)** ```bash curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh @@ -84,9 +81,17 @@ To get started with RustFS, follow these steps: 2. **Docker Quick Start (Option 2)** ```bash - docker run -d -p 9000:9000 -v /data:/data rustfs/rustfs + # Latest stable release + docker run -d -p 9000:9000 -v /data:/data rustfs/rustfs:latest + + # Development version (main branch) + docker run -d -p 9000:9000 -v /data:/data rustfs/rustfs:main-latest + + # Specific version + docker run -d -p 9000:9000 -v /data:/data rustfs/rustfs:v1.0.0 ``` + > 💡 **Docker Build Options**: RustFS supports flexible Docker image versions. See our [Docker Build Guide](docs/DOCKER_BUILD_GUIDE.md) for advanced usage and manual build instructions. 3. **Access the Console**: Open your web browser and navigate to `http://localhost:9000` to access the RustFS console, default username and password is `rustfsadmin` . 4. **Create a Bucket**: Use the console to create a new bucket for your objects.