feat: add configurable S3 object storage

This commit is contained in:
237899745
2026-07-25 13:23:11 +08:00
parent 61fa9cb820
commit d1f093685d
29 changed files with 3703 additions and 284 deletions

View File

@@ -11,7 +11,8 @@
- **压缩率**1-100JPEG/WebP/AVIF 以该比例为体积上限;无损格式按安全方式尽力优化)
- **用户系统**注册、登录、API Key 管理
- **计费与用量**:套餐/订阅/配额/发票
- **管理员后台**:用户管理、系统监控、配置管理
- **管理员后台**:用户管理、系统监控、配置管理、S3 多端点管理与连通性测试
- **对象存储**Garage/MinIO/AWS S3 兼容,私有 Bucket + 短期签名直连下载
### 技术栈
@@ -23,7 +24,7 @@
| 缓存/队列 | Redis | 会话管理、限流、任务队列Streams |
| 前端 | Vue3 + TypeScript | SPA 单页应用 |
| 认证 | JWT + API Key | 双重认证机制 |
| 存储 | 本地文件系统 | S3/MinIO 尚在规划中 |
| 存储 | 本地文件系统 + AWS S3 SDK | 支持动态 S3 端点、分片上传、签名下载和本地回退 |
| 计费 | Stripe | Checkout/Portal/Webhook |
## 目录结构
@@ -81,7 +82,7 @@ imageforge/
### 环境要求
- Rust建议使用最新 stable当前依赖链要求较新的 Rust建议 `>= 1.85`
- Rust建议使用最新 stable当前依赖链要求 `>= 1.91`,生产镜像使用 1.92
- PostgreSQL 16+
- Redis 7+
- Node.js 22+(前端构建)
@@ -129,6 +130,7 @@ curl --fail http://127.0.0.1:8080/health
- [邮件服务](./docs/email.md)
- [可观测性](./docs/observability.md)
- [部署指南](./docs/deployment.md)
- [双服务器 S3 方案](./docs/s3-storage-plan.md)
- [服务条款(模板)](./docs/terms.md)
- [隐私政策(模板)](./docs/privacy.md)