VPS: Supabase installeren op Linux
Deze handleiding is gemaakt met de volgende producten:
(Details kunnen verschillen bij producten van verschillende aanbieders, maar de hoofdconcepten blijven hetzelfde)
Introductie
Supabase is een open-source Postgres ontwikkelplatform dat een volledige Postgres database biedt plus authenticatie, instant API’s, realtime en opslag, waardoor het een open-source alternatief is voor Firebase.
Overweeg je deze service zelf te hosten? We nemen je stap voor stap mee in het opzetten en configureren, inclusief alles waar je op moet letten.
Vereisten
Voordat je Supabase installeert, zorg dat je hostingomgeving aan de volgende eisen voldoet voor een soepele installatie en optimale performance.
| Hardware | Minimaal | ZAP-Hosting Aanbeveling |
|---|---|---|
| CPU | 1 vCPU Core | 4 vCPU Cores |
| RAM | 4 GB | 8 GB |
| Schijfruimte | 25 GB | 25 GB |
De software vereist dat alle benodigde dependencies geïnstalleerd zijn en dat het draait op een ondersteund besturingssysteem. Zorg dat je server aan de volgende eisen voldoet voordat je verder gaat met de installatie:
Dependencies: Git, Docker (Engine en Compose)
Besturingssysteem: Laatste versie van Ubuntu/Debian met ondersteuning voor Docker 2
Zorg dat alle dependencies geïnstalleerd zijn en dat je de juiste OS-versie gebruikt om compatibiliteitsproblemen tijdens de installatie van Supabase te voorkomen.
Voorbereiding
Voordat je Supabase installeert, moet je je systeem klaarmaken. Dit betekent dat je je besturingssysteem update naar de nieuwste versie en alle benodigde dependencies installeert. Deze voorbereidingen zorgen voor een stabiele omgeving en helpen problemen tijdens of na de installatie te voorkomen.
Systeem updaten
Om zeker te zijn dat je systeem draait met de nieuwste software en beveiligingsupdates, voer je eerst een systeemupdate uit. Gebruik hiervoor het volgende commando:
sudo apt update && sudo apt upgrade -y
Dit zorgt ervoor dat je systeem de laatste beveiligingspatches en softwareversies heeft voordat je verder gaat.
Dependencies installeren
Als de update klaar is, kun je de dependencies installeren.
Git
De Supabase data wordt via GitHub gedownload. Hiervoor moet Git eerst geïnstalleerd zijn. Voer het volgende commando uit:
sudo apt install git-all
Docker
Supabase wordt op je machine gedraaid in een Docker container. Hiervoor moet Docker eerst geïnstalleerd zijn. Voer het volgende commando uit:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
Een volledige walkthrough van het installatieproces en hoe je Docker gebruikt, vind je in onze Docker gids.
Installatie
Nu aan alle vereisten is voldaan en de voorbereidingen zijn afgerond, kun je Supabase installeren.
Haal de Supabase repository binnen, maak een aparte projectmap aan en kopieer de Docker bestanden en voorbeeld environment file erin.
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
Ga naar de projectmap, haal de nieuwste container images binnen en start de stack in detached mode.
cd supabase-project
docker compose pull
docker compose up -d
Je kunt nu Supabase Studio bereiken via http://<jouw-ip>:8000. Je wordt gevraagd om een gebruikersnaam en wachtwoord. Standaard zijn de inloggegevens:
- Gebruikersnaam:
supabase - Wachtwoord:
this_password_is_insecure_and_should_be_updated
Je app draait nu met standaard inloggegevens. Beveilig je services zo snel mogelijk met de instructies hieronder.
Configuratie
Je moet nooit met standaard- of voorbeeldwaarden live gaan. Vervang alle placeholders door sterke, unieke secrets, check je configuratie op je beveiligingseisen en herstart alle services om de wijzigingen door te voeren.
Genereer veilige API keys voordat je een service blootstelt. Begin met het kiezen van een 40-karakter JWT secret. Je kunt de meegeleverde waarde gebruiken of zelf een maken. Bewaar deze secret lokaal op een veilige plek. Deel ‘m niet en commit ‘m niet naar versiebeheer. Gebruik de secret om een JWT te genereren en maak daarna de anon en service API keys aan via het formulier in de Supabase docs: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys
Voer het formulier twee keer uit om beide keys te maken. Update je ./docker/.env met:
ANON_KEY: anon keySERVICE_ROLE_KEY: service key
Update de verplichte secrets in ./docker/.env. Deze waarden moeten ingesteld zijn voor een werkende deployment:
POSTGRES_PASSWORD: wachtwoord voor depostgresrolJWT_SECRET: gebruikt door PostgREST en GoTrueSITE_URL: basis URL van je siteSMTP_*: mailserver credentialsPOOLER_TENANT_ID: tenant id gebruikt door de Supavisor pooler
Beveilig het Dashboard met nieuwe inloggegevens voordat je live gaat. Pas ./docker/.env aan:
DASHBOARD_USERNAME: dashboard gebruikerDASHBOARD_PASSWORD: dashboard wachtwoord
Je kunt meerdere dashboard gebruikers definiëren in ./docker/volumes/api/kong.yml:
basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two
Om alle dashboard features buiten localhost te gebruiken, zet je SUPABASE_PUBLIC_URL in ./docker/.env op de URL of IP waarmee je het dashboard gaat benaderen.
Pas configuratiewijzigingen toe door de stack te herstarten:
docker compose down
docker compose up -d
Conclusie en meer bronnen
Gefeliciteerd! Je hebt Supabase nu succesvol geïnstalleerd en geconfigureerd op je VPS. We raden je ook aan om de volgende bronnen te bekijken, die je extra hulp en tips kunnen geven tijdens je serverconfiguratie.
- Supabase.com - Officiële website
- Supabase.com/docs/guides/self-hosting - Supabase documentatie
Heb je specifieke vragen die hier niet behandeld worden? Voor verdere vragen of hulp kun je altijd contact opnemen met onze support, die dagelijks voor je klaarstaat! 🙂