# Example: Single Bucket Mode Configuration # # This file shows how to configure RAGFlow to use a single MinIO/S3 bucket # with directory structure instead of creating multiple buckets. # ============================================================================ # MinIO/S3 Configuration for Single Bucket Mode # ============================================================================ # MinIO/S3 Endpoint (with port if not default) # For HTTPS (port 443), the connection will automatically use secure=True export MINIO_HOST=minio.example.com:443 # Access credentials export MINIO_USER=your-access-key export MINIO_PASSWORD=your-secret-password-here # Single Bucket Configuration (NEW!) # If set, all data will be stored in this bucket instead of creating # separate buckets for each knowledge base export MINIO_BUCKET=ragflow-bucket # Optional: Prefix path within the bucket (NEW!) # If set, all files will be stored under this prefix # Example: bucket/prefix_path/kb_id/file.pdf export MINIO_PREFIX_PATH=ragflow # ============================================================================ # Alternative: Multi-Bucket Mode (Default) # ============================================================================ # # To use the original multi-bucket mode, simply don't set MINIO_BUCKET # and MINIO_PREFIX_PATH: # # export MINIO_HOST=minio.local # export MINIO_USER=admin # export MINIO_PASSWORD=password # # MINIO_BUCKET not set # # MINIO_PREFIX_PATH not set # ============================================================================ # Storage Mode Selection (Environment Variable) # ============================================================================ # # Make sure this is set to use MinIO (default) export STORAGE_IMPL=MINIO # ============================================================================ # Example Path Structures # ============================================================================ # # Multi-Bucket Mode (default): # bucket: kb_12345/file.pdf # bucket: kb_67890/file.pdf # bucket: folder_abc/file.txt # # Single Bucket Mode (MINIO_BUCKET set): # bucket: ragflow-bucket/kb_12345/file.pdf # bucket: ragflow-bucket/kb_67890/file.pdf # bucket: ragflow-bucket/folder_abc/file.txt # # Single Bucket with Prefix (both set): # bucket: ragflow-bucket/ragflow/kb_12345/file.pdf # bucket: ragflow-bucket/ragflow/kb_67890/file.pdf # bucket: ragflow-bucket/ragflow/folder_abc/file.txt # ============================================================================ # IAM Policy for Single Bucket Mode # ============================================================================ # # When using single bucket mode, you only need permissions for one bucket: # # { # "Version": "2012-10-17", # "Statement": [ # { # "Effect": "Allow", # "Action": ["s3:*"], # "Resource": [ # "arn:aws:s3:::ragflow-bucket", # "arn:aws:s3:::ragflow-bucket/*" # ] # } # ] # } # ============================================================================ # Testing the Configuration # ============================================================================ # # After setting these variables, you can test with MinIO Client (mc): # # # Configure mc alias # mc alias set ragflow https://minio.example.com:443 \ # your-access-key \ # your-secret-password-here # # # List bucket contents # mc ls ragflow/ragflow-bucket/ # # # If prefix is set, check the prefix # mc ls ragflow/ragflow-bucket/ragflow/ # # # Test write permission # echo "test" | mc pipe ragflow/ragflow-bucket/ragflow/_test.txt # # # Clean up test file # mc rm ragflow/ragflow-bucket/ragflow/_test.txt