Skip to content

Thêm Cloudflare R2 Channel

Phù hợp nhất khi nào

Dùng Cloudflare R2 khi:

  • ImgHost site của bạn đã deploy trên Cloudflare và bạn muốn lưu files trong một R2 bucket thuộc cùng Cloudflare account.
  • Bạn không muốn cấu hình riêng S3 endpoint, access key và secret key.
  • Bạn muốn đọc và ghi qua Worker hoặc Pages R2 binding với ít bước thiết lập nhất.

Tóm lại:

R2 channel không được tạo thủ công trong ImgHost admin panel. Trước tiên bạn cần bind một R2 bucket vào Cloudflare project, và binding variable name phải là img_r2.

Cần chuẩn bị gì trước khi bắt đầu

  • Một Cloudflare account.
  • Một R2 bucket đã có sẵn.
  • Quyền quản lý Cloudflare project nơi ImgHost được deploy.

Cấu hình trong Cloudflare

1. Tạo R2 Bucket

  1. Đăng nhập Cloudflare Dashboard.
  2. Mở R2 Object Storage.
  3. Nhấn Tạo bucket.
  4. Chọn bucket name, ví dụ imgbed.

Bucket này là nơi lưu uploaded files.

Tạo R2 bucket

2. Bind Bucket vào ImgHost Project

Chọn vị trí binding theo deployment type:

Deployment TypeBinding Location
PagesCurrent Pages project -> Settings -> Functions -> R2 bucket bindings
WorkerCurrent Worker -> Settings -> Bindings -> R2 bucket bindings

Khi thêm binding, các trường quan trọng là:

TrườngGiá trị
Variable nameimg_r2
R2 bucketChọn bucket bạn đã tạo.

Variable name phải chính xác là img_r2. Việc upload, đọc và xóa R2 files đều phụ thuộc vào binding name này.

3. Redeploy Project

Sau khi save binding, redeploy ImgHost để Worker hoặc Pages runtime truy cập được img_r2.

Bạn sẽ thấy gì trong ImgHost

Khi R2 binding đã sẵn sàng, mở:

  1. Cài đặt hệ thống.
  2. Cài đặt tải lên.
  3. Cloudflare R2 channel.

Hệ thống tự động tạo một fixed channel:

TrườngCách sửaed Giá trị
Channel nameCloudflare R2
Channel typecfr2
Storage modebinding
Configuration sourceEnvironment binding

Đây là fixed binding channel. Bạn không cần nhấn Thêm kênh để tạo, và cũng không thể xóa như regular channel.

Các trường có thể sửa trong Admin Panel

TrườngTác dụngBắt buộc
Enable channelKiểm soát R2 có tham gia upload selection hay không.
Account IDChỉ dùng khi quota limits được bật và cần query official R2 usage.Khuyến nghị khi bật quota limits
Bucket nameChỉ dùng khi quota limits được bật và cần query official R2 usage.Khuyến nghị khi bật quota limits
Quota limitKiểm soát R2 channel này có tham gia upload selection dựa trên capacity hay không.Không
ThresholdDừng ghi vào channel này khi usage đạt percentage đã đặt.Bắt buộc khi bật quota limits

Bạn có thể sao chép Account ID từ account information panel trong Cloudflare dashboard. Chỉ điền nếu muốn ImgHost query và enforce R2 quota usage.

Lấy Account ID

Các bước thiết lập

  1. Tạo R2 bucket trong Cloudflare.
  2. Mở Cloudflare settings của ImgHost project.
  3. Thêm R2 bucket binding.
  4. Đặt Variable nameimg_r2.
  5. Chọn R2 bucket đã tạo.
  6. Save binding và redeploy ImgHost.
  7. Quay lại ImgHost -> Cài đặt hệ thống -> Cài đặt tải lên.
  8. Xác nhận Cloudflare R2 channel xuất hiện và đang bật.

Nếu muốn R2 tham gia upload selection dựa trên capacity, bật quota limit rồi nhập Account ID, bucket name, quota limit và threshold trước khi save.

Configure quota limits

Cách kiểm tra

  • Cách sửaed Cloudflare R2 channel xuất hiện trong Cài đặt tải lên.
  • Channel card hiển thị trạng thái bật.
  • Upload thử một file nhỏ thành công và link trả về mở bình thường.
  • Nếu mở file thấy R2 database binding is not configured, runtime chưa nhận được img_r2 binding. Hãy kiểm tra binding name trong Cloudflare và redeploy project.

Released as user documentation for ImgHost.