Poradniki

Menedżer plików dla MinIO i S3 self-hosted: połącz go z Nubbo

Jak połączyć z Nubbo własną pamięć zgodną z S3, taką jak MinIO, Ceph czy SeaweedFS: endpoint, klucz, region, CORS i co zrobić, gdy coś zawiedzie.

Nubbo łączy się z każdą pamięcią zgodną z S3, która podpisuje żądania za pomocą Signature V4, taką jak MinIO, Ceph czy SeaweedFS, na twoim własnym serwerze lub u innego dostawcy. Potrzebujesz tylko adresu URL endpointu, klucza i regionu. Ten poradnik prowadzi krok po kroku przez kreator Nubbo, obiema ścieżkami: automatyczną lub z kluczem ograniczonym do jednego bucketu.

Co zyskujesz

  • Przeglądasz bucket jak dysk: foldery, widoki, wyszukiwanie, kosz, etykiety i ulubione.
  • Przesyłasz i pobierasz pliki bezpośrednio między przeglądarką a swoim serwerem. Pliki nigdy nie przechodzą przez serwery Nubbo.
  • Udostępniasz pliki i foldery z hasłem, datą wygaśnięcia i limitem pobrań, odbierasz pliki do swojego bucketu i tworzysz galerie.
  • Twoje klucze są przechowywane w postaci zaszyfrowanej algorytmem AES-256-GCM, a bucket możesz odłączyć w każdej chwili.

Zanim zaczniesz

Potrzebujesz pamięci zgodnej z S3 i konta w Nubbo. Każdy połączony bucket wlicza się do limitu twojego planu: plan Bezpłatny pozwala na 2, Personal na 5, a Pro nie ma limitu. Endpoint musi być publicznym adresem URL, do którego dostęp mają zarówno serwery Nubbo, jak i przeglądarka, i musi korzystać z HTTPS, bo przeglądarka nie wczytuje treści HTTP ze strony https://nubbo.app. Nubbo odrzuca endpointy wskazujące na adresy prywatne lub lokalne. Jeśli twój serwer nie ma regionów, zostaw us-east-1.

Wybierz sposób połączenia

Kreator Nubbo oferuje dwie ścieżki. Obie kończą się tak samo: bucket jest połączony i gotowy do przesyłania z przeglądarki.

AutomatycznieZ ograniczonym kluczem
KluczDostęp do całego kontaOgraniczony do jednego bucketu
BucketNubbo używa jednego z twoich lub tworzy nowyNajpierw tworzysz go sam
CORSNubbo dodaje regułę za ciebieRegułę dodajesz sam
Kiedy ją wybraćNajszybsza drogaGdy nie chcesz dawać dostępu do całego konta

Połączenie automatyczne

Krok 1: utwórz klucz na swoim serwerze

  1. Sprawdź, czy twój serwer udostępnia API S3 z podpisami V4 pod publicznym adresem HTTPS, na przykład https://s3.your-domain.com.
  2. Utwórz klucz, który może tworzyć buckety i zmieniać ich CORS.
  3. Zanotuj adres URL endpointu i region. Jeśli twój serwer nie ma regionów, użyj us-east-1.

Krok 2: połącz bucket w Nubbo

  1. W Nubbo otwórz Buckety i naciśnij Połącz bucket. Wybierz Niestandardowy S3 / Self-hosted i naciśnij Dalej.

    Krok Dostawca w kreatorze Nubbo z wybranym Niestandardowy S3 / Self-hosted Krok Dostawca w kreatorze Nubbo z wybranym Niestandardowy S3 / Self-hosted
  2. Wybierz Automatycznie i naciśnij Dalej.

    Krok Sposób połączenia z opcjami Automatycznie i Z ograniczonym kluczem Krok Sposób połączenia z opcjami Automatycznie i Z ograniczonym kluczem
  3. W kroku Twój klucz wklej access key, secret key, adres URL endpointu i region. Naciśnij Sprawdź klucz. Nubbo sprawdza, czy klucz działa i czy ma dostęp do całego konta.

    Krok Twój klucz dla Niestandardowy S3 / Self-hosted ze skróconym przewodnikiem i polami klucza Krok Twój klucz dla Niestandardowy S3 / Self-hosted ze skróconym przewodnikiem i polami klucza
  4. Wybierz jeden ze swoich bucketów i naciśnij Użyj tego bucketu albo zaznacz Utwórz nowy, wpisz nazwę (i wybierz region, jeśli o niego poprosi) i naciśnij Utwórz i przygotuj. Nubbo dodaje do bucketu regułę CORS, która pozwala na przesyłanie i pobieranie tylko z aplikacji, i zachowuje reguły, które bucket już ma.

    Krok Twój bucket z listą bucketów i opcją Utwórz nowy Krok Twój bucket z listą bucketów i opcją Utwórz nowy
  5. Przejrzyj trzy weryfikacje, jeśli chcesz, zmień pole Nazwa w Nubbo i naciśnij Zakończ. Bucket pojawi się w sekcji Buckety i możesz go otworzyć w eksploratorze.

    Krok Gotowe z weryfikacją połączenia, bucketu i CORS Krok Gotowe z weryfikacją połączenia, bucketu i CORS

Jeśli Nubbo nie może dodać reguły CORS twoim kluczem, kreator przeniesie cię do kroku CORS. Wtedy postępuj według sekcji Dodaj regułę CORS.

Połączenie z ograniczonym kluczem

Krok 1: przygotuj bucket i klucz na swoim serwerze

  1. Utwórz bucket na swoim serwerze (w MinIO na przykład poleceniem mc mb).
  2. Utwórz klucz z uprawnieniami do odczytu i zapisu w tym buckecie.
  3. Zanotuj adres URL endpointu i region.

Krok 2: połącz bucket w Nubbo

  1. W sekcji Buckety naciśnij Połącz bucket, wybierz Niestandardowy S3 / Self-hosted, a potem Z ograniczonym kluczem.
  2. Wklej access key, secret key, endpoint i region. Naciśnij Sprawdź klucz.
  3. Wpisz dokładną nazwę bucketu i naciśnij Sprawdź dostęp.
  4. Kreator przejdzie do kroku CORS z regułą, którą musisz dodać.

Dodaj regułę CORS

Reguła CORS pozwala przeglądarce przesyłać i pobierać pliki z twojego bucketu na https://nubbo.app. To ta sama reguła, którą kreator pokazuje w kroku CORS.

Sposób konfiguracji CORS zależy od oprogramowania:

  • MinIO (wersja community) nie przyjmuje CORS na poziomie bucketu: korzysta z ustawienia globalnego (MINIO_API_CORS_ALLOW_ORIGIN), które domyślnie dopuszcza każdy origin. Jeśli go nie zmieniałeś, nie musisz nic robić: naciśnij Dodane, sprawdź, a weryfikacja przejdzie. Jeśli je zmieniłeś, dodaj https://nubbo.app.
  • Ceph i SeaweedFS przyjmują CORS na poziomie bucketu przez API S3. Zastosuj tę regułę swoim zwykłym narzędziem (na przykład aws s3api put-bucket-cors z twoim endpointem) albo pozwól, aby Nubbo zrobiło to na ścieżce automatycznej.
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
Krok CORS z regułą do dodania do bucketu Krok CORS z regułą do dodania do bucketu

Gdy reguła będzie gotowa, wróć do Nubbo i naciśnij Dodane, sprawdź. W Ceph i SeaweedFS, jeśli twój klucz może zmieniać CORS, Spróbuj skonfigurować za mnie zrobi to za ciebie.

Jeśli coś pójdzie nie tak

Komunikat w NubboCo zrobić
„Nieprawidłowe dane uwierzytelniające. Sprawdź access key i secret access key.”Skopiuj ponownie oba klucze, bez spacji na początku i na końcu.
„Ten klucz wydaje się ograniczony do jednego bucketu. Możesz kontynuować ścieżką ograniczoną albo utworzyć klucz z pełnym dostępem.”Naciśnij Kontynuuj z ograniczonym kluczem albo utwórz klucz z dostępem do całego konta i naciśnij Wypróbuj inny klucz.
„Nie znaleziono bucketu. Sprawdź nazwę i region.”Sprawdź dokładną nazwę bucketu i czy wybrany region to region bucketu.
„Twój klucz nie ma uprawnień do tworzenia bucketów.”Użyj klucza z pełnym dostępem albo utwórz bucket w swoim panelu i naciśnij Mam go już w swoim panelu.
„Ta nazwa jest już używana u tego dostawcy; spróbuj innej.”Nazwy bucketów są unikalne w obrębie całego dostawcy: wybierz inną.
„Twój klucz nie ma uprawnień, aby to skonfigurować.”Dodaj regułę CORS ręcznie, tak jak opisano powyżej.
„Jeszcze nie działa. Przejrzyj regułę i sprawdź ponownie; niektórzy dostawcy potrzebują minuty, aby ją zastosować.”Sprawdź, czy origin to dokładnie https://nubbo.app bez ukośnika na końcu, odczekaj minutę i sprawdź ponownie.
„Ten bucket jest już używany.”Ten bucket jest już połączony w Nubbo, na twoim koncie lub na innym.
„Nie udało się połączyć z punktem końcowym S3. Sprawdź adres URL punktu końcowego.”Sprawdź, czy adres URL jest publiczny, korzysta z HTTPS i odpowiada z internetu, a nie tylko z twojej sieci.
„Adres URL punktu końcowego jest nieprawidłowy. Sprawdź format.”Wpisz pełny adres URL z https:// i bez nazwy bucketu. Ten komunikat pojawia się też, gdy adres wskazuje na adres prywatny lub lokalny albo gdy nazwy nie da się rozwiązać.
„Przekroczono czas oczekiwania na połączenie. Spróbuj ponownie.”Sprawdź zaporę swojego serwera i czy port jest dostępny z zewnątrz.

Ile to kosztuje

Jeśli porównujesz własną pamięć z dostawcą, zestaw ceny i limity w artykule S3 vs R2 vs Spaces vs Wasabi vs Backblaze B2.

Najczęściej zadawane pytania

Jaka pamięć self-hosted działa z Nubbo?

Każda pamięć zgodna z API S3 z podpisami V4, taka jak MinIO, Ceph czy SeaweedFS, a także dostawcy zgodni z S3, których nie ma na liście.

Czy mogę połączyć MinIO w mojej sieci lokalnej?

Nie. Endpoint musi być publicznym adresem URL: Nubbo odrzuca adresy prywatne i lokalne, a przeglądarka też musi mieć do niego dostęp.

Jakiego regionu użyć, jeśli mój serwer nie ma regionów?

us-east-1. To domyślny region większości serwerów zgodnych z S3.

Dlaczego Nubbo nie może ustawić CORS w MinIO?

Bo wersja community MinIO nie obsługuje CORS na poziomie bucketu. Korzysta z ustawienia globalnego, które domyślnie dopuszcza każdy origin, a Nubbo to sprawdza.

Źródła

Ceny i limity pochodzą z poniższych oficjalnych stron. Dostawcy je zmieniają, więc sprawdź je, zanim się zdecydujesz.