Nubbo се свързва с всяко S3-съвместимо хранилище, което подписва със Signature V4, като MinIO, Ceph или SeaweedFS, на ваш собствен сървър или при друг доставчик. Нужни са ви само URL адресът на endpoint-а, ключ и регионът. Това ръководство следва съветника на Nubbo стъпка по стъпка и по двата пътя: автоматично или с ключ, ограничен до един bucket.
Какво получавате
- Разглеждате bucket-а като диск: папки, изгледи, търсене, кошче, етикети и любими.
- Качвате и изтегляте файлове директно между браузъра си и вашия сървър. Файловете никога не минават през сървърите на Nubbo.
- Споделяте файлове и папки с парола, срок на валидност и лимит на изтеглянията, получавате файлове в bucket-а си и създавате галерии.
- Ключовете ви се съхраняват криптирани с AES-256-GCM и можете да изключите bucket-а по всяко време.
Преди да започнете
Нужни са ви S3-съвместимо хранилище и акаунт в Nubbo. Всеки свързан bucket се брои към лимита на вашия план: Безплатният план позволява 2, Personal 5, а Pro няма ограничение. Endpoint-ът трябва да е публичен URL адрес, до който имат достъп както сървърите на Nubbo, така и браузърът, и трябва да използва HTTPS, защото браузърът не зарежда HTTP съдържание от https://nubbo.app. Nubbo отхвърля endpoint-и, които сочат към частни или локални адреси. Ако сървърът ви няма региони, оставете us-east-1.
Изберете как да се свържете
Съветникът на Nubbo предлага два пътя. И двата завършват по един и същ начин: bucket-ът е свързан и готов за качване от браузъра.
| Автоматично | С ограничен ключ | |
|---|---|---|
| Ключ | Достъп до целия акаунт | Ограничен до един bucket |
| Bucket | Nubbo използва ваш или създава нов | Вие го създавате първо |
| CORS | Nubbo добавя правилото вместо вас | Вие добавяте правилото |
| Кога да го изберете | Най-бързият начин | Когато не искате да давате достъп до целия акаунт |
Автоматично свързване
Стъпка 1: създайте ключа на своя сървър
- Проверете дали сървърът ви предоставя S3 API със Signature V4 на публичен HTTPS адрес, например
https://s3.your-domain.com. - Създайте ключ, който може да създава bucket-и и да променя техния CORS.
- Запишете URL адреса на endpoint-а и региона. Ако сървърът ви няма региони, използвайте
us-east-1.
Стъпка 2: свържете bucket-а в Nubbo
В Nubbo отворете Bucket-и и натиснете Свързване на bucket. Изберете Персонализиран S3 / самостоятелно хостван и натиснете Продължи.

Изберете Автоматично и натиснете Продължи.

В стъпката Вашият ключ поставете access key, secret key, URL адреса на endpoint-а и региона. Натиснете Провери ключа. Nubbo проверява, че ключът работи и че има достъп до целия акаунт.

Изберете някой от вашите bucket-и и натиснете Използвай този bucket или изберете Създай нов, въведете име (и изберете региона, ако бъде поискан) и натиснете Създай и подготви. Nubbo добавя към bucket-а CORS правило, което разрешава качвания и изтегляния само от приложението, и запазва правилата, които вече има.

Прегледайте трите проверки, променете Име в Nubbo, ако желаете, и натиснете Завърши. Bucket-ът се появява в Bucket-и и можете да го отворите във файловия мениджър.

Ако Nubbo не може да добави CORS правилото с вашия ключ, съветникът ви отвежда към стъпката CORS. Тогава следвайте Добавете CORS правилото.
Свързване с ограничен ключ
Стъпка 1: подгответе bucket-а и ключа на своя сървър
- Създайте bucket-а на сървъра си (в MinIO например с
mc mb). - Създайте ключ с права за четене и запис върху този bucket.
- Запишете URL адреса на endpoint-а и региона.
Стъпка 2: свържете bucket-а в Nubbo
- В Bucket-и натиснете Свързване на bucket, изберете Персонализиран S3 / самостоятелно хостван и след това С ограничен ключ.
- Поставете access key, secret key, endpoint-а и региона. Натиснете Провери ключа.
- Въведете точното име на bucket-а и натиснете Провери достъпа.
- Съветникът преминава към стъпката CORS с правилото, което трябва да добавите.
Добавете CORS правилото
CORS правилото позволява на браузъра да качва и изтегля файлове от вашия bucket в https://nubbo.app. Това е същото правило, което съветникът показва в стъпката CORS.
Начинът на настройка на CORS зависи от софтуера:
- MinIO (community издание) не приема CORS за отделен bucket: използва глобална настройка (
MINIO_API_CORS_ALLOW_ORIGIN), която по подразбиране разрешава всеки произход. Ако не сте я променяли, няма какво да правите: натиснете Добавено е, провери и проверката ще мине. Ако сте я променили, включетеhttps://nubbo.app. - Ceph и SeaweedFS приемат CORS за отделен bucket през S3 API. Приложете това правило с обичайния си инструмент (например
aws s3api put-bucket-corsс вашия endpoint) или оставете Nubbo да го направи по автоматичния път.
[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
"AllowedOrigins": ["https://nubbo.app"],
"ExposeHeaders": ["ETag"],
"MaxAgeSeconds": 3600
}
]

Когато правилото е готово, върнете се в Nubbo и натиснете Добавено е, провери. В Ceph и SeaweedFS, ако ключът ви може да променя CORS, Опитай да го конфигурираш вместо мен ще го направи вместо вас.
Ако нещо се обърка
| Съобщение в Nubbo | Какво да направите |
|---|---|
| „Невалидни идентификационни данни. Проверете ключа за достъп и тайния ключ за достъп.“ | Копирайте отново двата ключа, без интервали в началото или в края. |
| „Този ключ изглежда ограничен до един bucket. Можете да продължите по ограничения път или да създадете ключ с пълен достъп.“ | Натиснете Продължи с ограничен ключ или създайте ключ с достъп до целия акаунт и натиснете Опитай друг ключ. |
| „Bucket не е намерен. Проверете името и региона.“ | Проверете точното име на bucket-а и дали избраният регион е този на bucket-а. |
| „Вашият ключ няма право да създава bucket-и.“ | Използвайте ключ с пълен достъп или създайте bucket-а в панела си и натиснете Вече е създаден в моя панел. |
| „Това име вече се използва при този доставчик; опитайте с друго.“ | Имената на bucket-ите са уникални в рамките на доставчика: изберете друго. |
| „Вашият ключ няма право да го настрои.“ | Добавете CORS правилото ръчно, както е обяснено по-горе. |
| „Все още не работи. Прегледайте правилото и проверете отново; при някои доставчици прилагането му отнема около минута.“ | Проверете дали произходът е точно https://nubbo.app без наклонена черта в края, изчакайте минута и проверете отново. |
| „Този bucket вече се използва.“ | Този bucket вече е свързан в Nubbo, във вашия акаунт или в друг. |
| „Не успяхме да достигнем S3 крайната точка. Проверете URL адреса на крайната точка.“ | Проверете дали URL адресът е публичен, използва HTTPS и отговаря от интернет, а не само от вашата мрежа. |
| „URL адресът на крайната точка не е валиден. Проверете формата.“ | Въведете пълния URL адрес с https:// и без името на bucket-а. Съобщението се показва и когато URL адресът сочи към частен или локален адрес или името не се разрешава. |
| „Времето за връзка изтече. Опитайте отново.“ | Проверете защитната стена на сървъра си и дали портът е достъпен отвън. |
Колко струва
Ако сравнявате собствено хранилище с доставчик, сравнете цените и ограниченията в S3 срещу R2 срещу Spaces срещу Wasabi срещу Backblaze B2.
Често задавани въпроси
Кои самостоятелно хоствани хранилища работят с Nubbo?
Всяко хранилище, съвместимо с S3 API със Signature V4, като MinIO, Ceph или SeaweedFS, както и S3-съвместими доставчици, които не са в списъка.
Мога ли да свържа MinIO в локалната си мрежа?
Не. Endpoint-ът трябва да е публичен URL адрес: Nubbo отхвърля частни и локални адреси, а и браузърът също трябва да може да го достигне.
Кой регион да използвам, ако сървърът ми няма региони?
us-east-1. Това е регионът по подразбиране на повечето S3-съвместими сървъри.
Защо Nubbo не може да настрои CORS в MinIO?
Защото community изданието на MinIO не поддържа CORS за отделен bucket. То използва глобална настройка, която по подразбиране разрешава всеки произход, и Nubbo я проверява.
Източници
Цените и ограниченията са взети от официалните страници по-долу. Доставчиците ги променят, затова проверете, преди да се обвържете.