Go to main content

VPS: Instalacja Supabase na Linux

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 developerska oparta na Postgresie, która oferuje pełną bazę danych Postgres wraz z autoryzacją, natychmiastowymi API, funkcjami realtime oraz storage — stanowi więc open-source’ową alternatywę 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 Twój hosting spełnia poniższe wymagania, aby instalacja przebiegła gładko, a wydajność była optymalna.

SprzętMinimumRekomendacja ZAP-Hosting
CPU1 rdzeń vCPU4 rdzenie vCPU
RAM4 GB8 GB
Miejsce na dysku25 GB25 GB

Oprogramowanie wymaga zainstalowania wszystkich niezbędnych zależności oraz działania na wspieranym systemie operacyjnym. Przed instalacją upewnij się, że Twój serwer spełnia poniższe wymagania:

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

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

Zadbaj o to, by wszystkie zależności były zainstalowane, a system operacyjny miał odpowiednią wersję, 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. To zapewni stabilne środowisko i pomoże 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. Wykonaj polecenie:

sudo apt update && sudo apt upgrade -y

Dzięki temu Twój system będzie miał najnowsze łatki bezpieczeństwa i wersje oprogramowania przed dalszą instalacją.

Instalacja zależności

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

Git

Dane Supabase będą pobierane z GitHuba, więc najpierw musisz mieć zainstalowany Git. Wykonaj polecenie:

sudo apt install git-all

Docker

Supabase będzie uruchamiane w kontenerze Docker na Twoim VPS, więc Docker musi być zainstalowany. Wykonaj polecenia:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

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

Instalacja

Gdy spełnisz wszystkie wymagania i przygotujesz system, możesz przejść do instalacji Supabase.

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

cp -rf supabase/docker/* supabase-project
cp supabase/docker/.env.example supabase-project/.env

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

img

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 zmiany zaczęły działać.

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 o:

  • 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 do 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 VPS. Polecamy też rzucić okiem na poniższe materiały, 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 wsparcia, śmiało kontaktuj się z naszym zespołem wsparcia, który jest dostępny codziennie, by Ci pomóc! 🙂