Blog

Strona główna

/

Blog

  • Strony WWW

  • Aplikacje mobilne

  • Systemy CRM

  • Tworzenie MVP

  • Portale internetowe

  • Automatyzacje

Blog

Strona główna

/

Blog

  • Strony WWW

  • Aplikacje mobilne

  • Systemy CRM

  • Tworzenie MVP

  • Portale internetowe

  • Automatyzacje

Blog

Strona główna

/

Blog

  • Automatyzacje

  • Strony WWW

  • Aplikacje mobilne

  • Tworzenie MVP

  • Systemy CRM

  • Portale internetowe

MinIO jako alternatywa dla AWS S3

Wprowadzenie do MinIO

MinIO to otwarte oprogramowanie do przechowywania danych obiektowych, kompatybilne z API S3. MinIO jest idealne dla firm, które chcą przechowywać swoje dane lokalnie lub na prywatnych serwerach, korzystając z zalet przechowywania obiektowego bez zależności od chmury publicznej.

Licencja MinIO

MinIO jest licencjonowane na zasadach GNU AGPLv3 (Affero General Public License), co oznacza, że możesz go używać, modyfikować i rozprowadzać bez opłat. Licencja AGPLv3 wymaga jednak, aby wszystkie modyfikacje kodu źródłowego były dostępne, jeśli są udostępniane publicznie. Dlatego jeśli używasz MinIO w środowisku publicznym (dostępnym np. przez API), musisz udostępnić kod źródłowy. MinIO oferuje również komercyjne licencje, które pozwalają na zamknięte wdrożenia, dostępne na stronie MinIO.

Dlaczego warto korzystać z MinIO?
  1. Kompatybilność z S3 API: MinIO w pełni wspiera interfejs S3, co pozwala na łatwą integrację z aplikacjami korzystającymi z AWS S3.

  2. Niskie koszty: MinIO jest open-source i można go uruchomić na własnym sprzęcie, co eliminuje koszty związane z chmurą publiczną.

  3. Skalowalność i wydajność: MinIO może obsługiwać setki petabajtów danych i jest zoptymalizowane pod kątem dużej wydajności.

  4. Bezpieczeństwo: Wbudowane mechanizmy szyfrowania i pełna kontrola nad danymi.

Uruchomienie MinIO w kontenerze Docker

Poniżej znajdziesz przewodnik dotyczący konfiguracji MinIO w Dockerze. Jest to szybka i prosta metoda na wdrożenie MinIO, szczególnie przydatna w środowiskach testowych i produkcyjnych.

Krok 1: Tworzenie katalogów na dane

Utwórz lokalny katalog, w którym będą przechowywane dane MinIO:

mkdir -p /mnt/data/minio
Krok 2: Tworzenie pliku docker-compose.yml

Poniżej znajduje się konfiguracja docker-compose.yml, która uruchomi MinIO w trybie kontenerowym. Plik ten można dostosować do własnych potrzeb, ale poniższy przykład jest odpowiedni dla prostego wdrożenia.

x-minio-common: &minio-common
  image: minio/minio:latest
  command: server --console-address ":9001" http://minio1}
  expose:
    - "9000"
    - "9001"
  environment:
    MINIO_ROOT_USER: minioadmin
    MINIO_ROOT_PASSWORD: minioadmin
    MINIO_BROWSER_REDIRECT: false
  healthcheck:
    test: [ "CMD", "curl", "-f", "http://minio1:9000/health/live" ]
    interval: 30s
    timeout: 20s
    retries: 3

services:
  minio1:
    <<

Wyjaśnienie konfiguracji
  • MINIO_ROOT_USER oraz MINIO_ROOT_PASSWORD – dane logowania do MinIO (warto zmienić domyślne dane dla bezpieczeństwa).

  • ports: MinIO domyślnie nasłuchuje na porcie 9000 dla API oraz porcie 9001 dla panelu administracyjnego.

Krok 3: Uruchomienie kontenera

Uruchom MinIO za pomocą docker-compose:

docker-compose up -d

MinIO uruchomi się na porcie 9000 (API) oraz 9001 (panel administracyjny). Możesz teraz przejść do http://localhost:9000 lub http://localhost:9001, aby uzyskać dostęp do MinIO i skonfigurować pierwsze buckety.

Krok 4: Dostęp do panelu administracyjnego

Po uruchomieniu MinIO, aby zarządzać zasobami, zaloguj się do panelu administracyjnego pod adresem http://localhost:9001, używając danych logowania skonfigurowanych wcześniej (MINIO_ROOT_USER i MINIO_ROOT_PASSWORD).

Krok 5: Integracja MinIO z aplikacją

Jeśli używasz MinIO jako zamiennika dla AWS S3, możesz skonfigurować aplikację do pracy z API S3, używając endpointu MinIO. Na przykład, w aplikacji Laravel skonfiguruj następujące zmienne w pliku .env:

FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=minioadmin
AWS_SECRET_ACCESS_KEY=minioadmin
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=mybucket
AWS_ENDPOINT=http://localhost:9000

Dzięki tej konfiguracji aplikacja może korzystać z MinIO tak samo, jak z AWS S3, bez konieczności zmiany kodu.

Podsumowanie

MinIO to potężna, otwartoźródłowa alternatywa dla AWS S3, która daje pełną kontrolę nad przechowywaniem danych i eliminuje koszty chmury publicznej. Uruchomienie MinIO w Dockerze umożliwia szybkie wdrożenie i skalowanie systemu, a kompatybilność z API S3 pozwala na łatwą integrację z aplikacjami korzystającymi z AWS S3.

Główne korzyści MinIO:
  • Niskie koszty i otwartoźródłowy charakter,

  • Pełna kontrola nad infrastrukturą i danymi,

  • Wysoka wydajność i skalowalność,

  • Możliwość integracji z popularnymi aplikacjami przez S3 API.

Pamiętaj o wymaganiach licencyjnych (AGPLv3) przy korzystaniu z MinIO w środowisku publicznym. Jeśli jednak Twoje wdrożenie jest wewnętrzne lub masz zgodę na komercyjną licencję, MinIO może być idealnym rozwiązaniem dla Twojej organizacji.

Kontakt

Masz pytania?
Chętnie na nie odpowiemy!

Masz pytania?
Chętnie na nie odpowiemy!

  • Strony WWW

  • Aplikacje mobilne

  • Systemy CRM

  • Tworzenie MVP

  • Portale internetowe

  • Automatyzacje

Tworzymy dedykowane aplikacje

Skontaktuj się z nami

HypeDev Group sp. z o.o.

ul. Jana III Sobieskiego 11/18

40-082 Katowice, Polska

+48 603 675 293

kontakt@hypedevgroup.pl

NIP: 6343019462

© HypeDev Group sp. z o.o.

  • Strony WWW

  • Aplikacje mobilne

  • Systemy CRM

  • Tworzenie MVP

  • Portale internetowe

  • Automatyzacje

Tworzymy dedykowane aplikacje

Skontaktuj się z nami

HypeDev Group sp. z o.o.

ul. Jana III Sobieskiego 11/18

40-082 Katowice, Polska

+48 603 675 293

kontakt@hypedevgroup.pl

NIP: 6343019462

© HypeDev Group sp. z o.o.

  • Automatyzacje

  • Strony WWW

  • Aplikacje mobilne

  • Tworzenie MVP

  • Systemy CRM

  • Portale internetowe

Tworzymy dedykowane aplikacje

Skontaktuj się z nami

HypeDev Group sp. z o.o.

ul. Jana III Sobieskiego 11/18

40-082 Katowice, Polska

+48 603 675 293

kontakt@hypedevgroup.pl

NIP: 6343019462

© HypeDev Group sp. z o.o.