VPS: Installera Supabase på Linux
Denna guide skapades med följande produkter:
(Detaljer kan variera med produkter från olika leverantörer men huvudkoncepten förblir desamma)
Introduktion
Supabase är en open-source Postgres-utvecklingsplattform som erbjuder en fullständig Postgres-databas plus autentisering, instant APIs, realtime och lagring, vilket gör det till ett open-source alternativ till Firebase.
Fundera på att hosta den här tjänsten själv? Vi guidar dig steg för steg hur du installerar och konfigurerar den, samt allt du behöver ha koll på.
Förutsättningar
Innan du installerar Supabase, se till att din hostingmiljö uppfyller följande krav för att garantera en smidig installation och optimal prestanda.
| Hårdvara | Minimum | ZAP-Hosting Rekommendation |
|---|---|---|
| CPU | 1 vCPU-kärna | 4 vCPU-kärnor |
| RAM | 4 GB | 8 GB |
| Diskutrymme | 25 GB | 25 GB |
Mjukvaran kräver att alla nödvändiga beroenden är installerade och att den körs på ett stöds operativsystem. Säkerställ att din server uppfyller följande innan du fortsätter med installationen:
Beroenden: Git, Docker (Engine och Compose)
Operativsystem: Senaste versionen av Ubuntu/Debian som stödjer Docker 2
Se till att alla beroenden är installerade och att rätt OS-version används för att undvika kompatibilitetsproblem under installationen av Supabase.
Förberedelser
Innan du sätter upp Supabase behöver du förbereda ditt system. Det inkluderar att uppdatera operativsystemet till senaste versionen och installera alla nödvändiga beroenden. Dessa förberedelser säkerställer en stabil miljö och hjälper till att undvika problem under eller efter installationen.
Uppdatera systemet
För att säkerställa att ditt system kör den senaste mjukvaran och säkerhetsuppdateringarna bör du alltid börja med att uppdatera systemet. Kör följande kommando:
sudo apt update && sudo apt upgrade -y
Detta ser till att ditt system har de senaste säkerhetspatcharna och mjukvaruversionerna innan du går vidare.
Installera beroenden
När uppdateringen är klar kan du fortsätta med installationen av beroenden.
Git
Supabase-data kommer att laddas ner via GitHub. Det kräver att Git är installerat först. Kör följande kommando:
sudo apt install git-all
Docker
Supabase kommer att köras i en Docker-container på din maskin. Det kräver att Docker är installerat först. Kör följande kommando:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
En komplett guide för installation och användning av Docker finns i vår Docker-guide.
Installation
Nu när alla krav är uppfyllda och förberedelserna klara kan du fortsätta med installationen av Supabase-appen.
Hämta Supabase-repot, skapa en dedikerad projektmapp och kopiera Docker-assets och exempel på miljöfil dit.
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
Byt till projektmappen, dra ner de senaste containerbilderna och starta stacken i detached-läge.
cd supabase-project
docker compose pull
docker compose up -d
Du kan nu nå Supabase Studio via http://<din-ip>:8000. Du kommer att bli ombedd att logga in med användarnamn och lösenord. Standarduppgifterna är:
- Användarnamn:
supabase - Lösenord:
this_password_is_insecure_and_should_be_updated
Din app körs nu med standarduppgifter. Säkra dina tjänster så snart som möjligt med instruktionerna nedan.
Konfiguration
Du ska aldrig köra i produktion med standard- eller exempelvärden. Byt ut alla platshållare mot starka, unika hemligheter, granska konfigurationen utifrån dina säkerhetskrav och starta om alla tjänster för att ändringarna ska träda i kraft.
Generera säkra API-nycklar innan du exponerar någon tjänst. Börja med att välja en 40-teckens JWT-hemlighet. Du kan använda det förvalda värdet eller skapa en egen. Spara denna hemlighet lokalt på en säker plats. Dela den inte och checka inte in den i versionshantering. Använd hemligheten för att generera en JWT och härled sedan anon- och service-API-nycklarna med formuläret som refereras i Supabase-dokumentationen: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys
Kör formuläret två gånger för att få fram båda nycklarna. Uppdatera din ./docker/.env med:
ANON_KEY: anon-nyckelSERVICE_ROLE_KEY: service-nyckel
Uppdatera nödvändiga hemligheter i ./docker/.env. Dessa värden måste vara satta för att deployment ska fungera:
POSTGRES_PASSWORD: lösenord förpostgres-rollenJWT_SECRET: används av PostgREST och GoTrueSITE_URL: bas-URL för din siteSMTP_*: mailserveruppgifterPOOLER_TENANT_ID: tenant-id som används av Supavisor poolern
Skydda Dashboarden med nya inloggningsuppgifter innan produktion. Redigera ./docker/.env:
DASHBOARD_USERNAME: dashboard-användareDASHBOARD_PASSWORD: dashboard-lösenord
Du kan definiera flera dashboard-användare i ./docker/volumes/api/kong.yml:
basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two
För att aktivera alla dashboard-funktioner utanför localhost, sätt SUPABASE_PUBLIC_URL i ./docker/.env till den URL eller IP du kommer använda för att nå dashboarden.
Applicera konfigurationsändringarna genom att starta om stacken:
docker compose down
docker compose up -d
Avslutning och fler resurser
Grattis! Du har nu framgångsrikt installerat och konfigurerat Supabase på din VPS. Vi rekommenderar även att du kikar på följande resurser som kan ge dig extra hjälp och vägledning under din serverkonfiguration.
- Supabase.com - Officiell hemsida
- Supabase.com/docs/guides/self-hosting - Supabase-dokumentation
Har du specifika frågor som inte täcks här? För fler frågor eller hjälp, tveka inte att kontakta vår support som finns tillgänglig varje dag för att hjälpa dig! 🙂