iconsulting/infrastructure/minio
hailin d4925719fc feat(multimodal): add file upload and image support for chat
- Add MinIO object storage to docker-compose infrastructure
- Create file-service microservice for upload management with presigned URLs
- Add files table to database schema
- Update nginx and Kong for MinIO proxy routes
- Implement file upload UI in chat InputArea with drag-and-drop
- Add attachment preview in MessageBubble component
- Update conversation-service to handle multimodal messages
- Add Claude Vision API integration for image analysis

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 05:34:41 -08:00
..
README.md feat(multimodal): add file upload and image support for chat 2026-01-10 05:34:41 -08:00
init-buckets.sh feat(multimodal): add file upload and image support for chat 2026-01-10 05:34:41 -08:00

README.md

MinIO 对象存储

iConsulting 项目的文件存储基础设施。

概述

MinIO 是一个高性能的 S3 兼容对象存储服务,用于存储:

  • 用户上传的图片
  • PDF 文档
  • 其他附件文件

访问地址

默认凭据

用户名: minioadmin
密码: minioadmin123

生产环境请修改 .env 中的 MINIO_ROOT_USERMINIO_ROOT_PASSWORD

Bucket 结构

iconsulting/
├── uploads/           # 用户上传的原始文件
│   ├── images/        # 图片文件
│   ├── documents/     # PDF/文档
│   └── temp/          # 临时文件
├── processed/         # 处理后的文件
│   ├── thumbnails/    # 缩略图
│   └── extracted/     # 提取的内容
└── exports/           # 导出文件

文件命名规则

{bucket}/{category}/{userId}/{year}/{month}/{uuid}.{ext}

示例: uploads/images/user123/2025/01/550e8400-e29b-41d4-a716-446655440000.jpg

生命周期策略

  • temp/ 目录: 24小时后自动删除
  • processed/thumbnails/: 30天后自动删除
  • 其他文件: 永久保留

安全配置

  1. 所有 bucket 默认私有
  2. 通过预签名 URL 提供临时访问
  3. 支持服务端加密 (SSE)