为 Misskey 配置外部储存

2 minute read

因为小站人不多一直没有接入外部储存,但是最近消费欲望低,所以想花点钱(口胡。最后选了 wasabi 的服务,就是还不算太贵吧。上次尝试配置外部储存是在一年前,当时看了很多文档也配置成功了,然后这次信心满满地再干一次。 咦?我是谁?我在哪?故此记录一下非常重要。 那么就开始吧!

wasabi 设置

Step 1. Create a Wasabi Account

创建一个 wasabi 账号

Step 2. Create a User for Misskey

为 Misskey 的储存桶单独创建一个用户, Access 类型选择 Programmatic (create API key) ,其他都不勾选

创建完成后会获得一组 Access keyAccess secret ,记下备用

记住该用户对应的 ARN ,之后会用到

Step 3. Create a Bucket

创建一个 Misskey 专用的储存桶,为其添加储存策略

确定储存桶所在区域

 1{
 2  "Version": "2012-10-17",
 3  "Statement": [
 4    {
 5      "Sid": "AddCannedAcl",
 6      "Effect": "Allow",
 7      "Principal": {
 8        "AWS": "Misskey 用户对应的 ARN"
 9      },
10      "Action": [
11        "s3:GetObject",
12        "s3:ListBucket",
13        "s3:PutObject",
14        "s3:PutObjectAcl",
15        "s3:DeleteObject"
16      ],
17      "Resource": "储存桶对应的 ARN/*"
18    },
19    {
20      "Sid": "AllowPublicRead",
21      "Effect": "Allow",
22      "Principal": {
23        "AWS": "*"
24      },
25      "Action": "s3:GetObject",
26      "Resource": "储存桶对应的 ARN/*"
27    }
28  ]
29}

Misskey 设置

  1. Base URL: https://s3.<storage regions>.wasabisys.com/<bucket name>/

  2. Bucket: bucket name

  3. Prefix: 指定文件在储存桶中储存的位置

  4. Endpoint: 参照 https://wasabi-support.zendesk.com/hc/en-us/articles/360015106031-What-are-the-service-URLs-for-Wasabi-s-different-storage-regions- ,选择储存桶所在地区对应的 URL

  5. Access key: 创建 Misskey 专用用户时生成的密钥

  6. Secret Key: 创建 Misskey 专用用户时生成的密钥

勾选 Set "public-read" on upload

参考


【自分用】MisskeyでWasabiを使う

感谢糖喵的帮助