Ga naar hoofdinhoud

Dedicated Server: 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 functionaliteit en opslag. Het is daarmee een open-source alternatief voor Firebase.

img

Wil je deze service zelf hosten? We nemen je stap voor stap mee in het opzetten en configureren, inclusief alles wat je moet weten.

Vereisten

Voordat je Supabase installeert, zorg dat je hostingomgeving aan de volgende eisen voldoet voor een soepele installatie en optimale performance.

HardwareMinimumZAP-Hosting Aanbeveling
CPU1 CPU Core4 CPU Cores
RAM4 GB8 GB
Schijfruimte25 GB25 GB

De software vereist dat alle benodigde dependencies geïnstalleerd zijn en dat het draait op een ondersteund besturingssysteem. Controleer dat je server aan deze eisen voldoet voordat je verder gaat met de installatie:

Dependencies: Git, Docker (Engine en Compose)

Besturingssysteem: Laatste versie van Ubuntu/Debian met Docker 2 ondersteuning

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 het besturingssysteem update naar de nieuwste versie en alle benodigde dependencies installeert. Deze voorbereidingen zorgen voor een stabiele omgeving en voorkomen problemen tijdens of na de installatie.

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 benodigde 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 gedraaid in een Docker container. Docker moet dus eerst geïnstalleerd worden. Voer hiervoor het volgende commando uit:

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

Een volledige uitleg van het installatieproces en het gebruik van Docker vind je in onze Docker gids.

Installatie

Nu aan alle vereisten is voldaan en de voorbereidingen zijn gedaan, kun je Supabase installeren.

Haal de Supabase repository binnen, maak een aparte projectmap aan en kopieer de Docker bestanden en voorbeeld environment file naar die map.

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

img

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

img

Standaard Inloggegevens

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 de 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 dit geheim lokaal op een veilige plek. Deel het niet en commit het niet in versiebeheer. Gebruik het secret om een JWT te genereren en maak daarna de anon en service API keys aan via het formulier dat in de Supabase docs staat: 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 key
  • SERVICE_ROLE_KEY: service key

Update de verplichte secrets in ./docker/.env. Deze waarden moeten ingevuld zijn voor een werkende installatie:

  • POSTGRES_PASSWORD: wachtwoord voor de postgres rol
  • JWT_SECRET: gebruikt door PostgREST en GoTrue
  • SITE_URL: basis URL van je site
  • SMTP_*: mailserver gegevens
  • POOLER_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 gebruiker
  • DASHBOARD_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 functies 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

Afsluiting en meer bronnen

Gefeliciteerd! Je hebt Supabase nu succesvol geïnstalleerd en geconfigureerd op je Dedicated Server. We raden je ook aan om de volgende bronnen te bekijken, die je extra hulp en tips kunnen geven tijdens je serverconfiguratie:

Heb je specifieke vragen die hier niet behandeld worden? Neem gerust contact op met onze support, die dagelijks voor je klaarstaat om je te helpen! 🙂