Додавання каналу S3
Коли це найкращий варіант
Використовуйте канал S3, якщо:
- хочете підключити будь-яке S3-сумісне об'єктне сховище, наприклад Cloudflare R2, Backblaze B2, MinIO, AWS S3 або іншого сумісного провайдера;
- вам зручна стандартна модель налаштування S3:
Endpoint, Access Key і Secret Key; - не хочете використовувати нативний Cloudflare R2 binding або ваш провайдер сховища не є Cloudflare R2.
Що підготувати заздалегідь
| Потрібно | Навіщо це потрібно |
|---|---|
| S3 Endpoint | API endpoint S3 для об'єктного сховища. |
| Назва bucket | Bucket, у якому зберігатимуться файли. |
| Region | Регіон сховища. Для Cloudflare R2 зазвичай це auto. |
| Access Key ID | Ідентифікатор ключа доступу S3. |
| Secret Access Key | Секретний ключ доступу S3. |
| CDN domain | Необов'язковий власний домен для доступу до файлів. |
Приклад для Cloudflare R2 через S3 API:
text
Endpoint: https://your-account-id.r2.cloudflarestorage.com
Bucket: your-r2-bucket-name
Region: auto
Access Key ID: copied from the Cloudflare R2 API token
Secret Access Key: copied from the Cloudflare R2 API tokenДе додати канал
- Відкрийте системні налаштування.
- Перейдіть до налаштувань завантаження.
- Натисніть Add Channel у правому верхньому куті.
- Виберіть
S3.
Поля налаштування
| Поле | Що означає | Обов'язково |
|---|---|---|
| Назва каналу | Зручна назва S3-каналу, наприклад s3test або R2-S3. | Так |
| Enable channel | Визначає, чи бере канал участь у виборі сховища для завантаження. | Рекомендовано |
| Endpoint | Повний endpoint S3-сервісу, включно з https://. | Так |
| Custom CDN domain | Необов'язково. Якщо вказано, згенеровані посилання на файли використовуватимуть цей домен. | Ні |
| Bucket name | Назва bucket, наприклад s3test або img-r2. | Так |
| Bucket region | Регіон. Для Cloudflare R2 зазвичай auto. | Так |
| Access Key ID | Ідентифікатор ключа доступу S3. | Так |
| Secret Access Key | Секретний ключ доступу S3. | Так |
| Path-style access | Перемикач сумісності. Типово вимкнений. Деякі MinIO, OpenList або self-hosted S3-сервіси можуть його вимагати. | Ні |
| Quota limit | Визначає, чи враховується місткість каналу під час вибору сховища. | Ні |
| Capacity limit | Потрібен після ввімкнення quota limit, наприклад 10 GB. | Так, якщо ввімкнено quota limit |
| Threshold | Зупиняє запис після досягнення цього відсотка використання, наприклад 90%. | Так, якщо ввімкнено quota limit |
| Remark | Нотатки для власного обслуговування. | Ні |
Створення S3 API keys для Cloudflare R2
- Відкрийте Cloudflare Dashboard.
- Перейдіть до
R2 Object Storage. - Знайдіть
Manage R2 API Tokensабо пункт керування API-токенами.

- Створіть R2 API token із доступом до потрібного bucket.

- Скопіюйте згенеровані
Access Key IDіSecret Access Key.

- Поверніться на сторінку R2 bucket і перевірте назву bucket.
- Запишіть S3 API endpoint для облікового запису. Зазвичай він має такий вигляд:
text
https://your-account-id.r2.cloudflarestorage.comНалаштування
- Відкрийте налаштування завантаження.
- Натисніть Add Channel.
- Виберіть
S3. - Введіть зрозумілу назву каналу, наприклад
s3test. - У полі
Endpointвведіть S3 API endpoint. - Якщо використовуєте власний CDN, введіть його в
Custom CDN domain; якщо ні, залиште поле порожнім. - Введіть назву bucket.
- Введіть region. Для прикладу з Cloudflare R2 використовуйте
auto. - Введіть Access Key ID і Secret Access Key.
- Залиште path-style access вимкненим, якщо провайдер явно не вимагає іншого.
- Якщо потрібен контроль місткості, увімкніть quota limit і введіть capacity limit та threshold.
- Натисніть Save.

Як перевірити
| Перевірка | Як перевірити |
|---|---|
| Картка каналу з'явилася | Після збереження на сторінці налаштувань завантаження має бути картка S3-каналу. |
| Канал увімкнений | Перемикач у правому верхньому куті картки має залишатися ввімкненим. |
| Основні поля збережені | У деталях мають відображатися Endpoint, Bucket, Region, path-style access та пов'язані поля. |
| Завантаження працює | Завантажте тестове зображення й переконайтеся, що об'єкт з'явився в цільовому bucket. |
| Посилання відкривається | Посилання на зображення, повернене після завантаження, має відкриватися нормально. |
| Показ місткості працює | Якщо ввімкнено quota limit, картка має показувати використану місткість і налаштований ліміт. |
Статистика місткості S3 рахується за локальними записами файлів в ImgBed, а не через запит до bucket провайдера в реальному часі. Після збереження S3-конфігурації система перераховує облік квоти за поточними записами D1.

FAQ
Чи потрібно вмикати path-style access?
Зазвичай ні.
Увімкніть його тільки тоді, коли ваш S3-сумісний провайдер не підтримує virtual-hosted-style URL або коли документація провайдера прямо вимагає path-style access. Це може знадобитися для деяких MinIO, self-hosted S3 та OpenList-сумісних endpoint.
Для чого потрібен CDN domain?
Якщо перед bucket стоїть CDN або власний домен доступу, вкажіть його тут.
Після налаштування згенеровані посилання на файли використовуватимуть цей домен. Якщо CDN не використовується, залиште поле порожнім.
Чому завантаження не проходить?
Спершу перевірте такі речі:
- Endpoint містить повну адресу з
https://. - Назва bucket правильна.
- Region відповідає вимогам провайдера.
- Access Key ID і Secret Access Key скопійовані повністю.
- Ключ має право запису в цільовий bucket.
- Провайдер не вимагає path-style access, або цей режим увімкнений, якщо потрібен.
Короткий чекліст
text
Підготувати S3 Endpoint, Bucket, Region, Access Key і Secret Key
-> Відкрити налаштування завантаження
-> Додати канал
-> Вибрати S3
-> Ввести Endpoint / Bucket / Region / Access Key / Secret Key
-> За потреби ввести CDN domain
-> Типово залишити path-style access вимкненим
-> За потреби ввімкнути quota limit
-> Зберегти
-> Завантажити тестове зображення й перевірити результат