Додавання каналу 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
- Увійдіть у Cloudflare Dashboard.
- Відкрийте
R2 Object Storage. - Натисніть Create bucket.
- Виберіть назву bucket, наприклад
imgbed.
У цьому bucket зберігатимуться завантажені файли.

2. Прив'яжіть bucket до проєкту ImgBed
Місце прив'язки залежить від типу розгортання:
| Тип розгортання | Де налаштовується binding |
|---|---|
| Pages | Current Pages project -> Settings -> Functions -> R2 bucket bindings |
| Worker | Current Worker -> Settings -> Bindings -> R2 bucket bindings |
Під час додавання binding важливі такі поля:
| Поле | Значення |
|---|---|
| Variable name | img_r2 |
| R2 bucket | Виберіть створений bucket. |
Назва змінної має бути точно img_r2. Завантаження, читання й видалення файлів R2 залежать саме від цієї назви binding.
3. Розгорніть проєкт повторно
Після збереження binding повторно розгорніть ImgBed, щоб runtime Worker або Pages отримав доступ до img_r2.
Що ви побачите в ImgBed
Коли binding R2 стане доступним, відкрийте:
- Системні налаштування.
- Налаштування завантаження.
- Канал
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.

Налаштування
- Створіть R2 bucket у Cloudflare.
- Відкрийте налаштування Cloudflare для проєкту ImgBed.
- Додайте R2 bucket binding.
- У полі
Variable nameвкажітьimg_r2. - Виберіть створений R2 bucket.
- Збережіть binding і повторно розгорніть ImgBed.
- Поверніться до ImgBed -> System Settings -> Upload Settings.
- Переконайтеся, що канал
Cloudflare R2з'явився та ввімкнений.
Якщо хочете, щоб R2 враховувався під час вибору каналу за доступною місткістю, увімкніть quota limit, потім введіть Account ID, назву bucket, ліміт квоти й threshold перед збереженням.

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