← 工具

Minio

高性能 S3 兼容对象存储,GNU AGPLv3 开源,适合构建私有云存储,Stars 60K+

#18
推荐排名
60,840
GitHub Stars
237,276
推荐得分
云存储 / 数据湖
适用场景
开发工具云存储

为什么需要

出海做产品需要文件存储(用户上传、图片、文档)。AWS S3 好用但贵,小项目每月几十刀不划算。MinIO 是 S3 兼容的对象存储,自托管免费,API 完全兼容 S3,代码一行不改就能从 S3 迁移过来。

怎么用

bash
docker run -d -p 9000:9000 -p 9001:9001 \
  -e MINIO_ROOT_USER=admin \
  -e MINIO_ROOT_PASSWORD=your-password \
  minio/minio server /data --console-address :9001

打开管理后台创建 Bucket,用 AWS SDK 调用(完全兼容 S3 API):

javascript
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
const s3 = new S3Client({ endpoint: 'http://localhost:9000', forcePathStyle: true });
await s3.send(new PutObjectCommand({ Bucket: 'uploads', Key: 'file.pdf', Body: fileBuffer }));

注意事项

  • 定价:完全免费开源(GNU AGPLv3)
  • 局限:AGPLv3 要求修改源码后必须开源,商用要注意;单机部署没有高可用