Nubbo підключається до Backblaze B2 через його S3-сумісний API за допомогою ключа застосунку та регіону вашого облікового запису. За кілька хвилин ваші бакети опиняться у файловому провіднику з прямими завантаженнями, посиланнями для спільного доступу та галереями. Цей посібник крок за кроком проходить майстер Nubbo обома шляхами: автоматичним або з ключем, обмеженим одним бакетом.
Що ви отримуєте
- Переглядайте бакет як диск: папки, подання, пошук, кошик, мітки й обране.
- Завантажуйте файли напряму між браузером і Backblaze B2. Файли ніколи не проходять через сервери Nubbo.
- Діліться файлами й папками з паролем, терміном дії та лімітом завантажень, отримуйте файли у свій бакет і створюйте галереї.
- Ваші ключі зберігаються зашифрованими за допомогою AES-256-GCM, і бакет можна відключити будь-коли.
Перед початком
Вам потрібні обліковий запис Backblaze B2 і обліковий запис Nubbo. Кожен підключений бакет враховується в ліміті вашого тарифу: Безкоштовний дозволяє 2, Personal 5, а Pro не має обмежень. У B2 регіон вибирається під час створення облікового запису й діє для всіх його бакетів. Його видно в endpoint будь-якого бакета у форматі s3.<region>.backblazeb2.com: саме цей регіон треба вибрати в Nubbo. Головний ключ облікового запису не працює з API S3, тому завжди створюйте ключ застосунку.
Виберіть спосіб підключення
Майстер Nubbo пропонує два шляхи. Обидва закінчуються однаково: бакет підключено й готово до завантажень із браузера.
| Автоматично | З обмеженим ключем | |
|---|---|---|
| Ключ | Доступ до всього облікового запису | Обмежений одним бакетом |
| Бакет | Nubbo використає ваш або створить новий | Ви створюєте його заздалегідь |
| CORS | Nubbo додасть правило за вас | Правило додаєте ви |
| Коли вибирати | Найшвидший спосіб | Коли не хочете давати доступ до всього облікового запису |
Автоматичне підключення
Крок 1: створіть ключ у Backblaze B2
- На backblaze.com відкрийте B2 Cloud Storage, Application Keys і натисніть Add a New Application Key. Не використовуйте головний ключ застосунку (master application key).
- Дайте йому назву, для Allow Access to Bucket(s) виберіть All, а для Type of Access виберіть Read and Write. Натисніть Create New Key.
- Скопіюйте keyID (ключ доступу) і applicationKey (секрет). Backblaze показує applicationKey лише один раз.
- У Buckets подивіться endpoint будь-якого бакета, щоб дізнатися свій регіон.
Крок 2: підключіть бакет у Nubbo
У Nubbo відкрийте Бакети й натисніть Підключити бакет. Виберіть Backblaze B2 і натисніть Продовжити.

Виберіть Автоматично й натисніть Продовжити.

На кроці Ваш ключ вставте keyID і applicationKey та виберіть регіон свого облікового запису. Натисніть Перевірити ключ. Nubbo перевірить, що ключ працює і має доступ до всього облікового запису.

Виберіть один зі своїх бакетів і натисніть Використати цей bucket або виберіть Створити новий, введіть назву (і виберіть регіон, якщо майстер попросить) та натисніть Створити й підготувати. Nubbo додасть до бакета правило CORS, яке дозволяє завантаження лише із застосунку, і збереже правила, що вже є.

Перегляньте три перевірки, за бажання змініть Назва в Nubbo і натисніть Завершити. Бакет з’явиться в розділі Бакети, і його можна відкрити в провіднику.

Потім у бакеті відкрийте Lifecycle Settings і виберіть Keep only the last version of the file. Інакше B2 зберігатиме всі версії, і видалення з Nubbo не звільнятиме місце.
Якщо Nubbo не може додати правило CORS з вашим ключем, майстер переведе вас на крок CORS. Тоді виконайте розділ Додайте правило CORS.
Підключення з обмеженим ключем
Крок 1: підготуйте бакет і ключ у Backblaze B2
- У Buckets натисніть Create a Bucket, дайте йому назву й залиште Private.
- У бакеті відкрийте Lifecycle Settings і виберіть Keep only the last version of the file.
- Подивіться endpoint бакета, щоб дізнатися регіон.
- В Application Keys натисніть Add a New Application Key, обмежте доступ своїм бакетом із Read and Write і позначте Allow List All Bucket Names. Натисніть Create New Key.
- Скопіюйте keyID і applicationKey.
Крок 2: підключіть бакет у Nubbo
- У розділі Бакети натисніть Підключити бакет, виберіть Backblaze B2, а потім З обмеженим ключем.
- Вставте keyID і applicationKey та виберіть регіон. Натисніть Перевірити ключ.
- Введіть точну назву бакета й натисніть Перевірити доступ.
- Майстер перейде на крок CORS із правилом, яке треба додати.
Додайте правило CORS
Правило CORS дозволяє браузеру завантажувати файли у ваш бакет і з нього на https://nubbo.app. Це те саме правило, яке майстер показує на кроці CORS.
Правила CORS у консолі B2 є готовими шаблонами й не дають вибрати операції, тому правило Nubbo додається через інструмент командного рядка B2 (b2) з ключем, який може змінювати налаштування бакета.
- Встановіть CLI, наприклад командою
pip install b2. - Увійдіть зі своїми keyID і applicationKey:
b2 account authorize. - Застосуйте правило, замінивши
your-bucketназвою бакета.allPrivateзалишає бакет приватним.
b2 bucket update --cors-rules '[{"corsRuleName":"nubbo","allowedOrigins":["https://nubbo.app"],"allowedOperations":["s3_get","s3_head","s3_put","s3_post","s3_delete"],"allowedHeaders":["*"],"exposeHeaders":["etag"],"maxAgeSeconds":3600}]' your-bucket allPrivate

Коли правило застосовано, поверніться в Nubbo й натисніть Готово, перевірити. Якщо ваш ключ має право змінювати CORS, кнопка Спробувати налаштувати за мене зробить це за вас.
Якщо щось пішло не так
| Повідомлення в Nubbo | Що робити |
|---|---|
| «Схоже, цей ключ обмежений одним bucket. Можна продовжити обмеженим шляхом або створити ключ із повним доступом.» | Натисніть «Продовжити з обмеженим ключем» або створіть ключ із доступом до всього облікового запису й натисніть «Спробувати інший ключ». |
| «Bucket не знайдено. Перевірте назву та регіон.» | Перевірте точну назву бакета й те, що вибраний регіон збігається з регіоном бакета. |
| «Ваш ключ не має дозволу створювати bucket.» | Використайте ключ із повним доступом або створіть бакет у своїй панелі й натисніть «Він уже створений у моїй панелі». |
| «Ця назва вже використовується в цього провайдера; спробуйте іншу.» | Назви бакетів унікальні в межах провайдера: виберіть іншу. |
| «Ваш ключ не має дозволу на це налаштування.» | Додайте правило CORS вручну, як описано вище. |
| «Ще не працює. Перегляньте правило й перевірте знову; деяким провайдерам потрібна хвилина, щоб його застосувати.» | Переконайтеся, що джерело (origin) саме https://nubbo.app без скісної риски в кінці, зачекайте хвилину й перевірте знову. |
| «Цей bucket вже використовується.» | Цей бакет уже підключено в Nubbo, у вашому чи в іншому обліковому записі. |
| «Недійсні облікові дані. Перевірте ключ доступу та секретний ключ доступу.» | Переконайтеся, що не використовуєте головний ключ застосунку, який не працює з API S3. |
| «Bucket розташовано в іншому регіоні. Перевірте налаштований регіон.» | Виберіть у Nubbo регіон, указаний в endpoint бакета. |
Скільки це коштує
Backblaze B2 бере плату за ТБ, дає 10 ГБ безкоштовно й безкоштовний вихідний трафік до трикратного обсягу того, що ви зберігаєте. Ми пояснюємо це в статті Ціни Backblaze B2.
Поширені запитання
Чи можна використати головний ключ застосунку Backblaze?
Ні. Backblaze не підтримує головний ключ у своєму S3-сумісному API. Створіть ключ застосунку в Application Keys.
Який регіон вибрати в Nubbo для B2?
Той, що вказаний в endpoint ваших бакетів, у форматі s3.<region>.backblazeb2.com. У B2 усі бакети облікового запису розташовані в одному регіоні.
Чому CORS налаштовується через B2 CLI?
Бо правила в консолі є готовими шаблонами й не дають вибрати операції, потрібні Nubbo. CLI це найпростіший спосіб застосувати точне правило; підійде й будь-який інструмент S3, що виконує PutBucketCors на endpoint B2.
Чому видалення в Nubbo не звільняє місце в B2?
Бо B2 за замовчуванням зберігає попередні версії. У Lifecycle Settings бакета виберіть Keep only the last version of the file.
Джерела
Ціни та ліміти взято з офіційних сторінок нижче. Провайдери їх змінюють, тож перевірте, перш ніж ухвалювати рішення.