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
- Đăng nhập Cloudflare Dashboard.
- Mở
R2 Object Storage. - Nhấn Tạo bucket.
- Chọn bucket name, ví dụ
imgbed.
Bucket này là nơi lưu uploaded files.

2. Bind Bucket vào ImgHost Project
Chọn vị trí binding theo deployment type:
| Deployment Type | Binding Location |
|---|---|
| Pages | Current Pages project -> Settings -> Functions -> R2 bucket bindings |
| Worker | Current Worker -> Settings -> Bindings -> R2 bucket bindings |
Khi thêm binding, các trường quan trọng là:
| Trường | Giá trị |
|---|---|
| Variable name | img_r2 |
| R2 bucket | Chọ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ở:
- Cài đặt hệ thống.
- Cài đặt tải lên.
Cloudflare R2channel.
Hệ thống tự động tạo một fixed channel:
| Trường | Cách sửaed Giá trị |
|---|---|
| Channel name | Cloudflare R2 |
| Channel type | cfr2 |
| Storage mode | binding |
| Configuration source | Environment 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ường | Tác dụng | Bắt buộc |
|---|---|---|
| Enable channel | Kiểm soát R2 có tham gia upload selection hay không. | Có |
| Account ID | Chỉ dùng khi quota limits được bật và cần query official R2 usage. | Khuyến nghị khi bật quota limits |
| Bucket name | Chỉ dùng khi quota limits được bật và cần query official R2 usage. | Khuyến nghị khi bật quota limits |
| Quota limit | Kiểm soát R2 channel này có tham gia upload selection dựa trên capacity hay không. | Không |
| Threshold | Dừ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.

Các bước thiết lập
- Tạo R2 bucket trong Cloudflare.
- Mở Cloudflare settings của ImgHost project.
- Thêm R2 bucket binding.
- Đặt
Variable namelàimg_r2. - Chọn R2 bucket đã tạo.
- Save binding và redeploy ImgHost.
- Quay lại ImgHost -> Cài đặt hệ thống -> Cài đặt tải lên.
- Xác nhận
Cloudflare R2channel 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.

Cách kiểm tra
- Cách sửaed
Cloudflare R2channel 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 đượcimg_r2binding. Hãy kiểm tra binding name trong Cloudflare và redeploy project.