跳到主要内容
孤云

MinIO / 自建

大约十来分钟,MinIO 软件本身免费,成本只是你自己的服务器与带宽 —— 下面是给自己搭的 MinIO 准备一个桶和一对密钥的步骤。

端点是你自己的地址,孤云推不出来;端点请一律使用 HTTPS(应用只按 HTTPS 访问),内网自签证书请先把证书加入系统信任。

分步操作

  1. 第 1 步

    装好并登录 MinIO

    • 到 MinIO 官网 按你的系统装好服务端并启动;官方安装方式见官方文档。
    • 默认 S3 API 端口是 9000,控制台端口由启动参数决定(很多安装方式会设成 9001)—— 以启动日志里打印的地址为准,用 root 账号登录控制台。
  2. 第 2 步

    创建存储桶

    • 在控制台左侧打开「Buckets」(对象浏览器)→「Create Bucket」。
    • 填一个桶名(S3 规则:3–63 位小写字母、数字、短横线或点,首尾必须是字母或数字),其余选项保持默认,点创建。
  3. 第 3 步

    创建访问密钥

    • 控制台「Identity」→「Users」→「Create User」建一个用户,并在创建时给它挂一条只覆盖这个桶的策略。
    • 也可以给已有用户建服务账号:打开该用户 →「Service Accounts」→「Create service account」,会得到一对 Access Key 与 Secret Key(只显示一次,立刻存好)。
  4. 第 4 步

    抄下端点

    • 端点是你的 S3 API 地址,例如 https://minio.example.com(要带端口就一起写,例如 https://你的服务器地址:9000)。请一律使用 HTTPS;自签证书要先把证书加入系统信任。
    • 端点只写协议和主机名(要带端口就一起写),不要带桶名和路径;9001 是控制台,不是端点。
  5. 第 5 步

    回孤云填三个值并测试

    • 孤云「添加存储」→ 服务商选 MinIO / 自建,按下面那张表填桶名、端点与密钥。
    • 最后点「测试连接并保存」。

给这个用户一条只覆盖这个桶的策略

  1. 在控制台「Access」→「IAM Policies」→「Create Policy」,粘贴下面那段 JSON(MinIO 的策略语法与 AWS IAM 相同),把 your-bucket-name 换成你的桶名。
  2. 回到「Identity」→「Users」,在这个用户的 Policies 里只勾这一条:MinIO 默认拒绝没被明确允许的操作。
  3. 不要用 root 账号的密钥 —— 管理员密钥对整台服务器都有权限。

这个桶的最小权限策略

在 IAM Policies 里新建策略时粘贴这段:

json
{ "Version": "2012-10-17",
  "Statement": [
    { "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads"], "Resource": "arn:aws:s3:::your-bucket-name" },
    { "Effect": "Allow", "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts"], "Resource": "arn:aws:s3:::your-bucket-name/*" }
  ] }

把里面的 your-bucket-name 换成真实桶名(两处)。不要把资源范围缩窄到某个目录 —— 孤云要在 .guyun/ 前缀下写回收站清单、设备连接记录与跨设备交接记录。

其他情况(用不到可以跳过)

控制台和 S3 API 是两个端口:9001 是网页控制台,9000 才是孤云要连的 API(以你的启动参数为准)。

费用

  • MinIO 软件免费:开源与商业许可以 MinIO 官网 为准。
  • 成本是你自己的服务器、硬盘与带宽;孤云这边不额外收费。

抄下这三个值

它们要填进孤云「添加存储」页对应的格子: 端点:MinIO 没有预置地点 —— 请在 App 的 HTTPS Endpoint 里手填你的服务地址(例如 https://minio.example.com);桶名与密钥照上表填。

抄下这个值填进孤云的哪一格
桶名
你刚才建的桶名,例如 your-bucket-name。
桶名称
端点
你自己的 API 地址,例如 https://minio.example.com。
Endpoint
密钥
刚才那对 Access Key 与 Secret Key。
Access Key 与 Secret Key

怎么知道成了

  • 「测试连接并保存」通过,说明桶名、端点与密钥都对得上,孤云能连上你的 MinIO。
  • 之后这条存储会出现在孤云的存储列表里,可以打开看桶里的文件。
  • 连接报错时,到常见错误对照排查。

回到孤云,点「测试连接并保存」。