-
Notifications
You must be signed in to change notification settings - Fork 3.9k
chore: replace MinIO with RustFS in docker-compose deployments #8820
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: preview
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,9 +12,11 @@ x-redis-env: &redis-env | |
| REDIS_PORT: ${REDIS_PORT:-6379} | ||
| REDIS_URL: ${REDIS_URL:-redis://plane-redis:6379/} | ||
|
|
||
| x-minio-env: &minio-env | ||
| MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID:-access-key} | ||
| MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY:-secret-key} | ||
| x-storage-env: &storage-env | ||
| RUSTFS_ACCESS_KEY: ${AWS_ACCESS_KEY_ID:-access-key} | ||
| RUSTFS_SECRET_KEY: ${AWS_SECRET_ACCESS_KEY:-secret-key} | ||
| RUSTFS_VOLUMES: /data | ||
| RUSTFS_ADDRESS: 0.0.0.0:9000 | ||
|
|
||
| x-aws-s3-env: &aws-s3-env | ||
| AWS_REGION: ${AWS_REGION:-} | ||
|
|
@@ -113,7 +115,7 @@ services: | |
| volumes: | ||
| - logs_api:/code/plane/logs | ||
| environment: | ||
| <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env] | ||
| <<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env] | ||
| depends_on: | ||
| - plane-db | ||
| - plane-redis | ||
|
|
@@ -129,7 +131,7 @@ services: | |
| volumes: | ||
| - logs_worker:/code/plane/logs | ||
| environment: | ||
| <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env] | ||
| <<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env] | ||
| depends_on: | ||
| - api | ||
| - plane-db | ||
|
|
@@ -146,7 +148,7 @@ services: | |
| volumes: | ||
| - logs_beat-worker:/code/plane/logs | ||
| environment: | ||
| <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env] | ||
| <<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env] | ||
| depends_on: | ||
| - api | ||
| - plane-db | ||
|
|
@@ -163,7 +165,7 @@ services: | |
| volumes: | ||
| - logs_migrator:/code/plane/logs | ||
| environment: | ||
| <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env] | ||
| <<: [*app-env, *db-env, *redis-env, *aws-s3-env, *proxy-env] | ||
| depends_on: | ||
| - plane-db | ||
| - plane-redis | ||
|
|
@@ -202,17 +204,24 @@ services: | |
| - rabbitmq_data:/var/lib/rabbitmq | ||
|
|
||
| # Comment this if you using any external s3 compatible storage | ||
| # NOTE: RustFS uses a different on-disk format than MinIO. | ||
| # Existing MinIO deployments must migrate data before switching. | ||
| # Admin console is available on port 9001 (was 9090 with MinIO). | ||
| plane-minio: | ||
| image: minio/minio:latest | ||
| command: server /export --console-address ":9090" | ||
| image: rustfs/rustfs:1.0.0-alpha.90 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same alpha version concern applies here. As noted in the main 🧰 Tools🪛 Checkov (3.2.510)[medium] 207-208: Basic Auth Credentials (CKV_SECRET_4) 🤖 Prompt for AI Agents |
||
| deploy: | ||
| replicas: 1 | ||
| restart_policy: | ||
| condition: any | ||
| environment: | ||
| <<: *minio-env | ||
| <<: *storage-env | ||
| volumes: | ||
| - uploads:/export | ||
| - uploads:/data | ||
|
Comment on lines
216
to
+219
|
||
| healthcheck: | ||
| test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/health"] | ||
| interval: 30s | ||
| timeout: 5s | ||
| retries: 3 | ||
|
|
||
| # Comment this if you already have a reverse proxy running | ||
| proxy: | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -140,16 +140,25 @@ services: | |||||
| volumes: | ||||||
| - rabbitmq_data:/var/lib/rabbitmq | ||||||
|
|
||||||
| # NOTE: RustFS uses a different on-disk format than MinIO. | ||||||
| # Existing MinIO deployments must migrate data before switching. | ||||||
| # Admin console is available on port 9001 (was 9090 with MinIO). | ||||||
| plane-minio: | ||||||
| container_name: plane-minio | ||||||
| image: minio/minio | ||||||
| image: rustfs/rustfs:1.0.0-alpha.90 | ||||||
|
||||||
| image: rustfs/rustfs:1.0.0-alpha.90 | |
| image: rustfs/rustfs:1.0.0-alpha.90@sha256:1111111111111111111111111111111111111111111111111111111111111111 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
What is the latest stable version of RustFS and is 1.0.0-alpha.90 production-ready?
💡 Result:
The latest stable version of RustFS does not exist; all releases are pre-releases labeled as 1.0.0-alpha.xx. The most recent release is 1.0.0-alpha.90, released on March 24, 2026. 1.0.0-alpha.90 is not production-ready. It is explicitly marked as a pre-release on GitHub, the official download pages, and distribution sites. Official documentation provides production deployment guides and hardware checklists, but the alpha status, ongoing focus on stability/bug fixes per the roadmap (no new features until GA), and absence of a stable 1.0 release indicate it remains in development. The project emphasizes rigorous multi-node stress testing before GA, with no timeline provided as of early 2026.
Citations:
- 1: https://github.com/rustfs/rustfs/releases
- 2: https://rustfs.com/download/
- 3: https://dl.rustfs.com/rustfs/
- 4: https://github.com/rustfs/rustfs
- 5: http://docs.rustfs.com/installation/checklists/software-checklists.html
- 6: https://docs.rustfs.com/installation/
- 7: https://docs.rustfs.com/upgrade-scale/availability-and-resiliency.html
- 8: https://docs.rustfs.com/installation/checklists/hardware-checklists.html
- 9: RustFS Roadmap Update: Focusing on Stability and the Road to GA 🚀 rustfs/rustfs#1097
Alpha release in production configuration requires explicit approval.
rustfs/rustfs:1.0.0-alpha.90 is the only available RustFS release and is explicitly not production-ready. The project offers production deployment guides but the software remains in alpha development with no stable 1.0 release or GA timeline as of March 2026.
Using non-production-ready software in a production/staging configuration (per coding guidelines) introduces stability and compatibility risks. Before deploying:
- Document the alpha status and known limitations for the deployment
- Establish monitoring and rollback procedures
- Plan a migration path when stable releases become available
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docker-compose.yml` at line 145, The docker-compose uses an alpha RustFS
image ("image: rustfs/rustfs:1.0.0-alpha.90"), which is not production-ready;
update the deployment to either point to an approved stable image or gate this
alpha image behind an explicit approval/config flag and documentation;
specifically change the image reference or add a conditional/environment flag
and ensure you add deployment notes documenting the alpha status, limitations,
monitoring/rollback procedures, and a migration plan for when a stable rustfs
release is available so operators must explicitly opt-in before using
rustfs/rustfs:1.0.0-alpha.90.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The storage service now uses an alpha/pre-release image tag (rustfs/rustfs:1.0.0-alpha.90). For deployment reproducibility and risk reduction, prefer a stable release, or at least pin the image by digest so upgrades are explicit and supply-chain risk is reduced.