Mastodon 使用 Cloudflare R2 对象储存

提醒大家在选择对象储存服务商时要慎重考虑,不要因为追求免费而放松对资源安全性和可靠性的要求。

为了追求免费,我的 Mastodon 实例一直在使用 Scaleway S3 作为静态资源仓库。然而,之前遭遇了一次严重的可用性问题,导致写入的图片无法访问。为了避免类似情况再次发生,我不得不连夜将资源从 Scaleway S3 迁移到 Cloudflare R2。

R2 价格算是比较低廉的,无固定月费:

项目 免费额度 费用
存储 10 GB/月 0.015 美元/GB
A类操作:改变状态 100万次/月 4.50 美元/百万次
B类操作:读取现有状态 1000万次/月 0.36 美元/百万次

Mastodon 配置 Cloudflare R2 有个小坑,必须要设置权限才能上传成功,需要在 .env.production 设置:

S3_PERMISSION=private

完整的配置如下:

S3_ENABLED=true
S3_PROTOCOL=https
S3_REGION=auto
S3_ENDPOINT=https://[HIDDEN].r2.cloudflarestorage.com
S3_HOSTNAME=pub-[HIDDEN].r2.dev
S3_BUCKET=[HIDDEN]
S3_PERMISSION=private
AWS_ACCESS_KEY_ID=[HIDDEN]
AWS_SECRET_ACCESS_KEY=[HIDDEN]
S3_ALIAS_HOST=s3assets.mastodon.instance
2023-03-30  1+ 次浏览 编辑本文  返回顶部
Mastodon