Руководства

Файловый менеджер для DigitalOcean Spaces: подключите его к Nubbo

Как подключить bucket DigitalOcean Spaces к Nubbo: ключ доступа, регион, мастер шаг за шагом, правило CORS и что делать при ошибке.

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
BucketNubbo использует один из ваших или создаёт новыйВы создаёте его заранее
CORSNubbo добавляет правило за васВы добавляете правило сами
Когда выбиратьСамый быстрый способКогда не хотите давать доступ ко всему аккаунту

Автоматическое подключение

Шаг 1: создайте ключ в DigitalOcean Spaces

  1. В панели управления DigitalOcean откройте Spaces Object Storage и перейдите на вкладку Access Keys.
  2. Нажмите Create Access Key, выберите Full access и дайте ключу имя, например nubbo.
  3. Скопируйте access key и secret. DigitalOcean показывает secret только один раз.

Шаг 2: подключите bucket в Nubbo

  1. В Nubbo откройте раздел Buckets и нажмите Подключить bucket. Выберите DigitalOcean Spaces и нажмите Продолжить.

    Шаг «Провайдер» мастера Nubbo с выбранным DigitalOcean Spaces Шаг «Провайдер» мастера Nubbo с выбранным DigitalOcean Spaces
  2. Выберите Автоматически и нажмите Продолжить.

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

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

    Шаг «Ваш bucket» со списком bucket и вариантом «Создать новый» Шаг «Ваш bucket» со списком bucket и вариантом «Создать новый»
  5. Просмотрите три проверки, при желании измените Имя в Nubbo и нажмите Завершить. Bucket появится в разделе Buckets, и его можно будет открыть в проводнике.

    Шаг «Готово» с проверками подключения, bucket и CORS Шаг «Готово» с проверками подключения, bucket и CORS

Если Nubbo не может добавить правило CORS с вашим ключом, мастер переведёт вас на шаг CORS. В этом случае следуйте разделу Добавьте правило CORS.

Подключение с ограниченным ключом

Шаг 1: подготовьте bucket и ключ в DigitalOcean Spaces

  1. В Spaces Object Storage нажмите Create Bucket, выберите регион и имя и создайте bucket.
  2. В Access Keys нажмите Create Access Key и выберите Limited access.
  3. Выберите свой bucket с правом Read/Write/Delete, дайте ключу имя и создайте его.
  4. Скопируйте access key и secret. Ограниченные ключи не работают с bucket, у которых есть bucket policy.

Шаг 2: подключите bucket в Nubbo

  1. В разделе Buckets нажмите Подключить bucket, выберите DigitalOcean Spaces, а затем С ограниченным ключом.
  2. Вставьте access key и secret и выберите регион. Нажмите Проверить ключ.
  3. Введите точное имя bucket и нажмите Проверить доступ.
  4. Мастер перейдёт на шаг CORS с правилом, которое нужно добавить.

Добавьте правило CORS

Правило CORS позволяет браузеру загружать и скачивать файлы из вашего bucket на https://nubbo.app. Это то же правило, которое мастер показывает на шаге CORS.

  1. В Spaces Object Storage откройте bucket и перейдите в Settings.
  2. В разделе CORS Configurations нажмите Add.
  3. Заполните форму этими значениями и нажмите 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.

Шаг «CORS» с правилом, которое нужно добавить в bucket Шаг «CORS» с правилом, которое нужно добавить в bucket

Когда правило сохранено, вернитесь в 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 подключается со своим регионом, и их может быть столько, сколько позволяет ваш тариф.

Источники

Цены и лимиты взяты с официальных страниц ниже. Провайдеры их меняют, поэтому проверьте перед тем, как принимать решение.