mirror of
https://github.com/rustfs/rustfs.git
synced 2026-05-07 23:27:50 +08:00
e6b019c29db1024f96476e155c19b6cad4c30ce9
# Conflicts: # .github/workflows/build.yml # .github/workflows/ci.yml # Cargo.lock # Cargo.toml # appauth/src/token.rs # crates/config/src/config.rs # crates/event-notifier/examples/simple.rs # crates/event-notifier/src/global.rs # crates/event-notifier/src/lib.rs # crates/event-notifier/src/notifier.rs # crates/event-notifier/src/store.rs # crates/filemeta/src/filemeta.rs # crates/notify/examples/webhook.rs # crates/utils/Cargo.toml # ecstore/Cargo.toml # ecstore/src/cmd/bucket_replication.rs # ecstore/src/config/com.rs # ecstore/src/disk/error.rs # ecstore/src/disk/mod.rs # ecstore/src/set_disk.rs # ecstore/src/store_api.rs # ecstore/src/store_list_objects.rs # iam/Cargo.toml # iam/src/manager.rs # policy/Cargo.toml # rustfs/src/admin/rpc.rs # rustfs/src/main.rs # rustfs/src/storage/mod.rs
…
…
…
…
RustFS
English Documentation |中文文档
Prerequisites
| Package | Version | Download Link |
|---|---|---|
| Rust | 1.8.5+ | rust-lang.org/tools/install |
| protoc | 31.1+ | protoc-31.1-linux-x86_64.zip |
| flatc | 24.0+ | Linux.flatc.binary.g++-13.zip |
Building RustFS
Generate Protobuf Code
cargo run --bin gproto
Using Docker for Prerequisites
- uses: arduino/setup-protoc@v3
with:
version: "30.2"
- uses: Nugine/setup-flatc@v1
with:
version: "25.2.10"
Adding Console Web UI
- Download the latest console UI:
wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip - Create the static directory:
mkdir -p ./rustfs/static - Extract and compile RustFS:
unzip rustfs-console-latest.zip -d ./rustfs/static cargo build
Running RustFS
Configuration
Set the required environment variables:
# Basic config
export RUSTFS_VOLUMES="./target/volume/test"
export RUSTFS_ADDRESS="0.0.0.0:9000"
export RUSTFS_CONSOLE_ENABLE=true
export RUSTFS_CONSOLE_ADDRESS="0.0.0.0:9001"
# Observability config
export RUSTFS_OBS_ENDPOINT="http://localhost:4317"
# Event message configuration
#export RUSTFS_EVENT_CONFIG="./deploy/config/event.toml"
Start the service
./rustfs /data/rustfs
Observability Stack Otel and OpenObserve
OpenTelemetry Collector 和 Jaeger、Grafana、Prometheus、Loki
-
Navigate to the observability directory:
cd .docker/observability -
Start the observability stack:
docker compose -f docker-compose.yml up -d
Access Monitoring Dashboards
- Grafana:
http://localhost:3000(credentials:admin/admin) - Jaeger:
http://localhost:16686 - Prometheus:
http://localhost:9090
Configure observability
OpenTelemetry Collector address(endpoint): http://localhost:4317
OpenObserve and OpenTelemetry Collector
- Navigate to the OpenObserve and OpenTelemetry directory:
cd .docker/openobserve-otel - Start the OpenObserve and OpenTelemetry Collector services:
docker compose -f docker-compose.yml up -d - Access the OpenObserve UI:
OpenObserve UI:
http://localhost:5080- Default credentials:
- Username:
root@rustfs.com - Password:
rustfs123
- Username:
- Exposed ports:
- 5080: HTTP API and UI
- 5081: OTLP gRPC
- Default credentials:
Description
🚀 High-performance distributed object storage for MinIO alternative.
RustFS 是一个使用 Rust(全球最受欢迎的编程语言之一)构建的高性能分布式对象存储软件。与 MinIO 一样
Readme
Apache-2.0
54 MiB
Languages
Rust
97.9%
Shell
1.7%
Makefile
0.1%
Python
0.1%