rikkahub 中文文档 下载 App

S3 兼容存储备份 · Cloudflare R2 / AWS / MinIO

S3 兼容存储

RikkaHub 可以连接任何实现了 S3 API的对象存储服务。范围极广:

服务说明推荐场景
Cloudflare R2免费额度大(每月 10GB 存储 + 100 万次请求)个人用户首选
AWS S3行业标准,成本按存储 + 请求计费已有 AWS 账户
MinIO开源自建 S3 兼容服务有自用服务器
Backblaze B2知名低成本备份服务云端备份专用
任何实现 S3 API 的服务通用你偏好的任何 S3 端点

配置 S3

  1. 打开 设置 → 备份 → S3 标签页
  2. 填写以下信息:
字段说明
端点(Endpoint)S3 兼容端点 URL
Access Key IDAPI 访问密钥 ID
Secret Access KeyAPI 密钥 Secret(默认遮蔽)
存储桶(Bucket)用于存储备份的 bucket 名
区域Cloudflare R2 用 auto;AWS 用区域代码如 us-east-1
聊天记录开关
文件开关
  1. 点击 测试连接 → 确认
  2. 保存

端点 URL 速查

服务端点 URL
Cloudflare R2账户专属 R2 端点(在 Cloudflare 控制台里找)
AWS S3https://s3.amazonaws.com 或区域端点如 https://s3.us-east-1.amazonaws.com
MinIOhttp://你的服务器地址:9000
Backblaze B2https://s3.us-east-005.backblazeb2.com(端点因区域而异)

安全最佳实践

创建专用 IAM 用户 / 令牌

强烈建议为 RikkaHub 创建一个只有必要权限的专用密钥:

需要的权限:

不需要的权限:

Cloudflare R2 的权限配置

R2 使用 API 令牌而非传统 AWS IAM:

  1. Cloudflare 控制台 → R2 → Manage R2 API Tokens
  2. 创建令牌 → 选择"Edit"权限(或更精细的自定义)
  3. 生成 Access Key 和 Secret Key → 粘贴到 RikkaHub

AWS S3 的 IAM 策略示例

给专用用户附加一个只在你的 bucket 上有必要权限的策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
      "Resource": "arn:aws:s3:::你的bucket名/*"
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::你的bucket名"
    }
  ]
}

立即备份 & 恢复

操作和 WebDAV 完全一致:

Cloudflare R2 为什么是首选

维度Cloudflare R2其他 S3 服务
免费额度每月 10GB 存储 + 100 万请求有限或收费
成本超出免费额度后仍然便宜按存储 + 请求计费
网络全球 CDN取决于区域
国内访问Cloudflare 域名需要考虑 GFW看具体区域

个人用户:如果能正常访问 Cloudflare,R2 是成本最低的选择。如果 Cloudflare 受限,考虑本地 MinIO + WebDAV,或国内云服务的对象存储。

S3 vs WebDAV 怎么选

你的情况推荐
已有 Nextcloud / NASWebDAV
Cloudflare 用户S3(R2)
不想维护服务器S3(R2 / Backblaze)
自己有自建 S3S3
都没有Cloudflare R2(免费额度大)

两者可以同时配置——双重保险。RikkaHub 的备份页面是独立标签页,互不干扰。