Nubbo подключается к DigitalOcean Spaces с помощью ключа доступа Spaces и региона ваших bucket. Через несколько минут они окажутся в файловом проводнике с прямыми загрузками, ссылками для доступа и галереями. Это руководство шаг за шагом проходит мастер Nubbo по обоим путям: автоматическому и с ключом, ограниченным одним bucket.
Что вы получаете
- Просмотр bucket как обычного диска: папки, режимы отображения, поиск, корзина, метки и избранное.
- Загрузка и скачивание файлов напрямую между браузером и DigitalOcean Spaces. Файлы никогда не проходят через серверы Nubbo.
- Отправка файлов и папок с паролем, сроком действия и лимитом скачиваний, получение файлов в ваш bucket и создание галерей.
- Ваши ключи хранятся в зашифрованном виде (AES-256-GCM), а bucket можно отключить в любой момент.
Перед началом
Вам нужен аккаунт DigitalOcean Spaces и аккаунт Nubbo. Каждый подключённый bucket учитывается в лимите вашего тарифа: «Бесплатно» позволяет подключить 2, Personal 5, а в Pro ограничений нет. Spaces доступен в 13 регионах: nyc3, ams3, sfo2, sfo3, sgp1, lon1, fra1, tor1, blr1, syd1, atl1, ric1 и mkc1. Nubbo спрашивает регион, потому что у каждого из них свой endpoint.
Выберите способ подключения
Мастер Nubbo предлагает два пути. Оба заканчиваются одинаково: bucket подключён и готов к загрузкам из браузера.
| Автоматически | С ограниченным ключом | |
|---|---|---|
| Ключ | Доступ ко всему аккаунту | Ограничен одним bucket |
| Bucket | Nubbo использует один из ваших или создаёт новый | Вы создаёте его заранее |
| CORS | Nubbo добавляет правило за вас | Вы добавляете правило сами |
| Когда выбирать | Самый быстрый способ | Когда не хотите давать доступ ко всему аккаунту |
Автоматическое подключение
Шаг 1: создайте ключ в DigitalOcean Spaces
- В панели управления DigitalOcean откройте Spaces Object Storage и перейдите на вкладку Access Keys.
- Нажмите Create Access Key, выберите Full access и дайте ключу имя, например
nubbo. - Скопируйте access key и secret. DigitalOcean показывает secret только один раз.
Шаг 2: подключите bucket в Nubbo
В Nubbo откройте раздел Buckets и нажмите Подключить bucket. Выберите DigitalOcean Spaces и нажмите Продолжить.

Выберите Автоматически и нажмите Продолжить.

На шаге Ваш ключ вставьте access key и secret и выберите регион своих bucket. Нажмите Проверить ключ. Nubbo проверит, что ключ работает и что у него есть доступ ко всему аккаунту.

Выберите один из своих bucket и нажмите Использовать этот bucket или выберите Создать новый, введите имя (и выберите регион, если мастер его спросит) и нажмите Создать и подготовить. Nubbo добавит в bucket правило CORS, которое разрешает загрузку и скачивание только из приложения, и сохранит уже существующие правила.

Просмотрите три проверки, при желании измените Имя в Nubbo и нажмите Завершить. Bucket появится в разделе Buckets, и его можно будет открыть в проводнике.

Если Nubbo не может добавить правило CORS с вашим ключом, мастер переведёт вас на шаг CORS. В этом случае следуйте разделу Добавьте правило CORS.
Подключение с ограниченным ключом
Шаг 1: подготовьте bucket и ключ в DigitalOcean Spaces
- В Spaces Object Storage нажмите Create Bucket, выберите регион и имя и создайте bucket.
- В Access Keys нажмите Create Access Key и выберите Limited access.
- Выберите свой bucket с правом Read/Write/Delete, дайте ключу имя и создайте его.
- Скопируйте access key и secret. Ограниченные ключи не работают с bucket, у которых есть bucket policy.
Шаг 2: подключите bucket в Nubbo
- В разделе Buckets нажмите Подключить bucket, выберите DigitalOcean Spaces, а затем С ограниченным ключом.
- Вставьте access key и secret и выберите регион. Нажмите Проверить ключ.
- Введите точное имя bucket и нажмите Проверить доступ.
- Мастер перейдёт на шаг CORS с правилом, которое нужно добавить.
Добавьте правило CORS
Правило CORS позволяет браузеру загружать и скачивать файлы из вашего bucket на https://nubbo.app. Это то же правило, которое мастер показывает на шаге CORS.
- В Spaces Object Storage откройте bucket и перейдите в Settings.
- В разделе CORS Configurations нажмите Add.
- Заполните форму этими значениями и нажмите Save CORS Configuration.
Origin: https://nubbo.app
Allowed Methods: GET, PUT, POST, DELETE, HEAD
Allowed Headers: *
Access Control Max Age: 3600
С ограниченным ключом правило нужно добавить самостоятельно: в DigitalOcean для изменения CORS через API нужен ключ с Full access.

Когда правило сохранено, вернитесь в Nubbo и нажмите Готово, проверить. Некоторым провайдерам нужна минута, чтобы его применить. Если вашему ключу разрешено менять CORS, кнопка Попробовать настроить за меня сделает это за вас.
Если что-то пошло не так
| Сообщение в Nubbo | Что делать |
|---|---|
| «Неверные учётные данные. Проверьте access key и secret access key.» | Скопируйте оба ключа ещё раз, без пробелов в начале и в конце. |
| «Похоже, этот ключ ограничен одним bucket. Можно продолжить по ограниченному пути или создать ключ с полным доступом.» | Нажмите «Продолжить с ограниченным ключом» или создайте ключ с доступом ко всему аккаунту и нажмите «Попробовать другой ключ». |
| «Bucket не найден. Проверьте имя и регион.» | Проверьте точное имя bucket и то, что выбранный регион совпадает с регионом bucket. |
| «У вашего ключа нет прав на создание bucket.» | Используйте ключ с полным доступом или создайте bucket в своей панели и нажмите «Он уже создан в моей панели». |
| «Это имя уже занято у этого провайдера; попробуйте другое.» | Имена bucket уникальны в пределах всего провайдера: выберите другое. |
| «У вашего ключа нет прав на эту настройку.» | Добавьте правило CORS вручную, как описано выше. |
| «Пока не работает. Проверьте правило и попробуйте снова; некоторым провайдерам нужна минута, чтобы его применить.» | Убедитесь, что источник указан точно как https://nubbo.app без косой черты в конце, подождите минуту и проверьте снова. |
| «Этот bucket уже используется.» | Этот bucket уже подключён в Nubbo, в вашем аккаунте или в чужом. |
| «Bucket находится в другом регионе. Проверьте настроенный регион.» | Выберите в Nubbo тот же регион, в котором вы создали bucket. |
| «Доступ запрещён. Убедитесь, что учётные данные всё ещё активны, и проверьте их права доступа.» | Если ключ ограниченный, убедитесь, что у него есть Read/Write/Delete на этот bucket и что у bucket нет bucket policy. |
Сколько это стоит
Spaces оплачивается ежемесячной абонентской платой, в которую входят хранение и трафик. Мы разбираем это в статье Цены DigitalOcean Spaces.
Частые вопросы
Какой ключ Spaces мне нужен?
Для автоматического пути нужен ключ с Full access. Для ограниченного пути подойдёт ключ Limited access с правами Read/Write/Delete на ваш bucket.
Какой регион выбрать в Nubbo?
Регион bucket: nyc3, ams3, sfo2, sfo3, sgp1, lon1, fra1, tor1, blr1, syd1, atl1, ric1 или mkc1. Панель управления показывает его рядом с именем bucket.
Почему Nubbo не может настроить CORS с моим ограниченным ключом?
Потому что в DigitalOcean для изменения CORS через API нужен ключ с Full access. С ограниченным ключом правило добавляется вручную в Settings, CORS Configurations.
Можно ли подключить bucket из нескольких регионов?
Да. Каждый bucket подключается со своим регионом, и их может быть столько, сколько позволяет ваш тариф.
Источники
Цены и лимиты взяты с официальных страниц ниже. Провайдеры их меняют, поэтому проверьте перед тем, как принимать решение.