Go to main content

Serwer dedykowany: Instalacja Supabase na Windows

Ten poradnik został stworzony z wykorzystaniem następujących produktów:

(Szczegóły mogą się różnić w zależności od produktów różnych dostawców, ale główne koncepcje pozostają takie same)

Wprowadzenie

Supabase to open-source’owa platforma do rozwoju na bazie Postgresa, która oferuje pełną bazę danych Postgres wraz z autoryzacją, natychmiastowymi API, funkcjami realtime i storage — to open-source’owa alternatywa dla Firebase.

img

Myślisz o samodzielnym hostingu tej usługi? Przeprowadzimy Cię krok po kroku przez cały proces instalacji i konfiguracji oraz podpowiemy, na co zwrócić uwagę.

Wymagania wstępne

Przed instalacją Supabase upewnij się, że Twoje środowisko hostingowe spełnia poniższe wymagania, aby zapewnić płynną instalację i optymalną wydajność.

SprzętMinimumZalecenia ZAP-Hosting
CPU1 rdzeń CPU4 rdzenie CPU
RAM4 GB8 GB
Miejsce na dysku25 GB25 GB

Oprogramowanie wymaga zainstalowania wszystkich niezbędnych zależności oraz działania na wspieranym systemie operacyjnym. Upewnij się, że Twój serwer spełnia poniższe wymagania przed rozpoczęciem instalacji:

Zależności: Git, Docker (Engine i Compose)

System operacyjny: Najnowsza wersja Ubuntu/Debian wspierająca Docker 2

Sprawdź, czy wszystkie zależności są zainstalowane, a system operacyjny jest odpowiedni, aby uniknąć problemów z kompatybilnością podczas instalacji Supabase.

Przygotowanie

Przed konfiguracją Supabase musisz przygotować swój system. Obejmuje to aktualizację systemu operacyjnego do najnowszej wersji oraz instalację wszystkich wymaganych zależności. Te kroki zapewnią stabilne środowisko i pomogą uniknąć problemów podczas lub po instalacji.

Aktualizacja systemu

Aby mieć pewność, że Twój system działa na najnowszym oprogramowaniu i z poprawkami bezpieczeństwa, zawsze zacznij od aktualizacji systemu. Dzięki temu Twój serwer będzie miał najnowsze łatki i wersje oprogramowania przed dalszymi krokami.

Instalacja zależności

Po zakończeniu aktualizacji możesz przejść do instalacji zależności.

Git

Dane Supabase będą pobierane przez GitHub, więc najpierw musisz mieć zainstalowany Git. Zainstaluj Git dla Windows na swoim serwerze.

Docker

Supabase będzie uruchamiane na Twoim serwerze w kontenerze Docker, więc Docker musi być zainstalowany. Zainstaluj Docker Desktop na swoim serwerze.

Pełny poradnik instalacji i obsługi Dockera znajdziesz w naszym poradniku Docker.

Instalacja

Gdy spełnisz wszystkie wymagania i przygotujesz środowisko, możesz przejść do instalacji Supabase. Otwórz wiersz poleceń. Pobierz repozytorium Supabase, utwórz dedykowany katalog projektu i skopiuj do niego pliki Dockera oraz przykładowy plik środowiskowy.

git clone --depth 1 https://github.com/supabase/supabase
mkdir .\supabase-project

Copy-Item .\supabase\docker\* -Destination .\supabase-project -Recurse -Force
Copy-Item .\supabase\docker\.env.example -Destination .\supabase-project\.env -Force

Przejdź do katalogu projektu, pobierz najnowsze obrazy kontenerów i uruchom stack w trybie odłączonym.

cd supabase-project
docker compose pull
docker compose up -d

Teraz możesz uzyskać dostęp do Supabase Studio pod adresem http://<twoje-ip>:8000. Zostaniesz poproszony o nazwę użytkownika i hasło. Domyślne dane to:

  • Nazwa użytkownika: supabase
  • Hasło: this_password_is_insecure_and_should_be_updated

img

Domyślne dane logowania

Twoja aplikacja działa teraz na domyślnych danych logowania. Zabezpiecz swoje usługi jak najszybciej, korzystając z instrukcji poniżej.

Konfiguracja

Nigdy nie wdrażaj aplikacji z domyślnymi lub przykładowymi wartościami. Zastąp wszystkie placeholdery silnymi, unikalnymi sekretami, sprawdź konfigurację pod kątem wymagań bezpieczeństwa i zrestartuj wszystkie usługi, aby zastosować zmiany.

Wygeneruj bezpieczne klucze API zanim udostępnisz jakąkolwiek usługę. Zacznij od wyboru 40-znakowego sekretu JWT. Możesz użyć podanej wartości lub stworzyć własną. Przechowuj ten sekret lokalnie w bezpiecznym miejscu. Nie udostępniaj go i nie commituj do systemu kontroli wersji. Użyj sekretu do wygenerowania JWT, a następnie wygeneruj klucze anon i service API, korzystając z formularza opisanego w dokumentacji Supabase: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys

Uruchom formularz dwukrotnie, aby wygenerować oba klucze. Zaktualizuj plik ./docker/.env:

  • ANON_KEY: klucz anon
  • SERVICE_ROLE_KEY: klucz serwisowy

Zaktualizuj wymagane sekrety w ./docker/.env. Te wartości muszą być ustawione, aby wdrożenie działało poprawnie:

  • POSTGRES_PASSWORD: hasło dla roli postgres
  • JWT_SECRET: używany przez PostgREST i GoTrue
  • SITE_URL: podstawowy URL Twojej strony
  • SMTP_*: dane serwera pocztowego
  • POOLER_TENANT_ID: tenant id używany przez pooler Supavisor

Zabezpiecz panel główny nowymi danymi przed użyciem produkcyjnym. Edytuj ./docker/.env:

  • DASHBOARD_USERNAME: użytkownik panelu
  • DASHBOARD_PASSWORD: hasło panelu

Możesz zdefiniować wielu użytkowników panelu w ./docker/volumes/api/kong.yml:

basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two

Aby włączyć wszystkie funkcje panelu poza localhost, ustaw SUPABASE_PUBLIC_URL w ./docker/.env na URL lub IP, pod którym będziesz się łączyć z panelem.

Zastosuj zmiany konfiguracji, restartując stack:

docker compose down
docker compose up -d

Podsumowanie i dodatkowe zasoby

Gratulacje! Właśnie pomyślnie zainstalowałeś i skonfigurowałeś Supabase na swoim serwerze dedykowanym. Polecamy też zapoznać się z poniższymi zasobami, które mogą Ci pomóc i wesprzeć podczas konfiguracji serwera:

Masz pytania, które nie zostały tu poruszone? Jeśli potrzebujesz pomocy lub masz dodatkowe pytania, śmiało kontaktuj się z naszym supportem, który jest dostępny codziennie, by Ci pomóc! 🙂