Skip to content

Додавання каналу Cloudflare R2

Коли це найкращий варіант

Використовуйте Cloudflare R2, якщо:

  • ваш сайт ImgBed уже розгорнутий у Cloudflare, і ви хочете зберігати файли в R2 bucket у тому самому обліковому записі;
  • не хочете окремо налаштовувати S3 endpoint, access key і secret key;
  • хочете, щоб читання й запис ішли через R2 binding у Worker або Pages з мінімальним налаштуванням.

Коротко:

R2-канал не створюється вручну в адмін-панелі ImgBed. Спочатку потрібно прив'язати R2 bucket до проєкту Cloudflare, а назва змінної прив'язки має бути саме img_r2.

Що підготувати заздалегідь

  • Обліковий запис Cloudflare.
  • Уже створений R2 bucket.
  • Права на керування Cloudflare-проєктом, де розгорнуто ImgBed.

Налаштування в Cloudflare

1. Створіть R2 bucket

  1. Увійдіть у Cloudflare Dashboard.
  2. Відкрийте R2 Object Storage.
  3. Натисніть Create bucket.
  4. Виберіть назву bucket, наприклад imgbed.

У цьому bucket зберігатимуться завантажені файли.

Створення R2 bucket

2. Прив'яжіть bucket до проєкту ImgBed

Місце прив'язки залежить від типу розгортання:

Тип розгортанняДе налаштовується binding
PagesCurrent Pages project -> Settings -> Functions -> R2 bucket bindings
WorkerCurrent Worker -> Settings -> Bindings -> R2 bucket bindings

Під час додавання binding важливі такі поля:

ПолеЗначення
Variable nameimg_r2
R2 bucketВиберіть створений bucket.

Назва змінної має бути точно img_r2. Завантаження, читання й видалення файлів R2 залежать саме від цієї назви binding.

3. Розгорніть проєкт повторно

Після збереження binding повторно розгорніть ImgBed, щоб runtime Worker або Pages отримав доступ до img_r2.

Що ви побачите в ImgBed

Коли binding R2 стане доступним, відкрийте:

  1. Системні налаштування.
  2. Налаштування завантаження.
  3. Канал Cloudflare R2.

Система автоматично створює один фіксований канал:

ПолеФіксоване значення
Назва каналуCloudflare R2
Тип каналуcfr2
Режим зберіганняbinding
Джерело конфігураціїEnvironment binding

Це фіксований канал через binding. Його не потрібно створювати кнопкою Add Channel, і його не можна видалити як звичайний канал.

Поля, які можна змінити в адмін-панелі

ПолеЩо робитьОбов'язково
Enable channelВизначає, чи бере R2 участь у виборі каналу для завантаження.Так
Account IDПотрібен лише тоді, коли ввімкнені ліміти квоти й треба запитувати офіційне використання R2.Рекомендовано, якщо ввімкнено квоти
Bucket nameПотрібен лише тоді, коли ввімкнені ліміти квоти й треба запитувати офіційне використання R2.Рекомендовано, якщо ввімкнено квоти
Quota limitВизначає, чи враховується місткість каналу під час вибору сховища.Ні
ThresholdЗупиняє запис у цей канал після досягнення вказаного відсотка використання.Так, якщо ввімкнено квоти

Account ID можна скопіювати з інформаційної панелі облікового запису в Cloudflare dashboard. Заповнюйте його тільки тоді, коли хочете, щоб ImgBed запитував і контролював використання квоти R2.

Отримання Account ID

Налаштування

  1. Створіть R2 bucket у Cloudflare.
  2. Відкрийте налаштування Cloudflare для проєкту ImgBed.
  3. Додайте R2 bucket binding.
  4. У полі Variable name вкажіть img_r2.
  5. Виберіть створений R2 bucket.
  6. Збережіть binding і повторно розгорніть ImgBed.
  7. Поверніться до ImgBed -> System Settings -> Upload Settings.
  8. Переконайтеся, що канал Cloudflare R2 з'явився та ввімкнений.

Якщо хочете, щоб R2 враховувався під час вибору каналу за доступною місткістю, увімкніть quota limit, потім введіть Account ID, назву bucket, ліміт квоти й threshold перед збереженням.

Налаштування лімітів квоти

Як перевірити

  • Фіксований канал Cloudflare R2 з'являється в налаштуваннях завантаження.
  • На картці каналу видно, що він увімкнений.
  • Невеликий тестовий файл успішно завантажується, а повернене посилання відкривається нормально.
  • Якщо під час відкриття файлу з'являється R2 database binding is not configured, runtime не отримав binding img_r2. Перевірте назву binding у Cloudflare й розгорніть проєкт повторно.

Released as user documentation for CloudFlare ImgBed.