Je gebruikt Supabase Cloud al een paar maanden, en de rekening blijft maar stijgen.

Elk beetje extra uitgaand dataverkeer uit je database levert een nieuwe post op. Elke 10.000 maandelijks actieve gebruikers brengen je dichter bij een overschrijding.

Het Pro-abonnement dat begon bij $25 per maand, kost nu eerder $70.

Ergens tussen de prijspagina en je echte factuur voelde het niet meer als een koopje.

Zelf hosten is het voor de hand liggende alternatief, maar voor de hand liggend is niet hetzelfde als eenvoudig. Supabase is geen los programma dat je even op een server zet. Het is een volledige backendstack: een Postgres-database, een authenticatieservice, een REST API, realtime abonnementen, opslag, edge functions en een dashboard. Alles is met elkaar verbonden en draait als een kleine vloot Docker-containers.

Die vloot op je eigen server draaien kost ongeveer $23 tot $35 per maand op Stack 16 ($22,99 per maand voor de eerste 3 maanden bij maandelijkse betaling, daarna $34,99 per maand) voor een VPS met genoeg RAM om alles in het geheugen te houden. Dat is zoiets als twee streamingabonnementen per maand, voor een backend die je geen extra kosten rekent als je verkeer piekt.

Wat is Supabase en waarom hosten mensen het zelf?

Supabase is een opensource Backend as a Service-platform (BaaS) dat een Postgres-database, authenticatie, een REST API, realtime abonnementen, opslag en edge functions bundelt in één installatie.

Het is het alternatief voor Firebase dat op je eigen infrastructuur draait als je dat wilt. De GitHub-repository heeft in mei 2026 de grens van 100.000 sterren gepasseerd, en het platform draait de backends van bedrijven als Mozilla, PwC, Johnson & Johnson en 1Password.

De vraag is of je het operationele werk dat Supabase Cloud voor je doet zelf wilt oppakken, of iemand anders wilt betalen om het te doen. Denk aan back-ups, logs, e-mailbezorging en updates.

Mensen hosten Supabase zelf om drie redenen:

  1. Ze willen voorspelbare kosten die niet meegroeien met hun verbruik.
  2. Ze willen hun data op infrastructuur die ze zelf beheren.
  3. Ze willen niet vastzitten aan één leverancier, zoals bij Firebase, waar overstappen zo pijnlijk was.

Supabase is zelf verfrissend eerlijk over wie wel en niet zelf zou moeten hosten. De officiële documentatie over zelf hosten zegt het zonder omwegen: Self-hosted Supabase is community-supported. You won’t receive the same level of official support as Supabase Cloud customers.

Vrij vertaald: als er om 2 uur ’s nachts iets kapotgaat, sta je er alleen voor.

Wat Supabase je direct biedt

Supabase-stack met de kernservices: Postgres, REST API, authenticatie, realtime, opslag, functions

Als je dacht dat Supabase gewoon Postgres met een REST API was: nee. De zelfgehoste stack draait ongeveer 12 containers tegelijk.

De onderdelen waar je het vaakst mee werkt, zijn vrij overzichtelijk:

  • Postgres. De database die de kern van alles vormt. Supabase gebruikt een moderne PostgreSQL-versie met extensies voor authenticatie, realtime en zoeken in volledige tekst.
  • PostgREST. Genereert automatisch een REST API op basis van je Postgres-schema. Een tabel wordt een endpoint, en daar hoef je zelf geen backendcode voor te schrijven.
  • Auth (voorheen GoTrue). Regelt registraties, inloggen, wachtwoordherstel, OAuth en het uitgeven van JWT’s.
  • Realtime. Stuurt wijzigingen in de database via WebSockets door naar verbonden clients.
  • Storage. S3-compatibele objectopslag met toegangsbeheer dat aan je database is gekoppeld.
  • Edge Functions. Serverless functies op basis van Deno die dicht bij je gebruikers draaien.
  • Supabase Studio. Het dashboard waarin je tabellen bekijkt, SQL uitvoert en gebruikers voor authenticatie beheert.

Daarnaast krijg je Kong als API-gateway, imgproxy voor het verwerken van afbeeldingen, Supavisor voor het poolen van verbindingen en Logflare voor analytics. Alles bij elkaar heb je het over een volledige backendstack, niet over een simpele app.

Wat kost het om Supabase zelf te hosten?

Supabase zelf hosten op een VPS kost ongeveer $23 tot $35 per maand op Stack 16, inclusief server, opslag en bandbreedte. De software van Supabase zelf is gratis.

Pak je laatste factuur van Supabase Cloud er even bij. De post die mensen verrast, is niet het basisbedrag van $25. Het zijn het uitgaande dataverkeer uit de database en de extra opslag, die het Pro-abonnement apart afrekent (de kostenanalyse van Supascale voor 2026 loopt alle posten na).

Vergelijk dat met Supabase Cloud:

AbonnementBasisprijsWat je krijgt
Gratis$0Database van 500 MB
50K maandelijks actieve gebruikers
1 GB opslag
Pauzeert na 7 dagen inactiviteit
Pro-abonnement$25 per maandDatabase van 8 GB
100K maandelijks actieve gebruikers
100 GB opslag
250 GB uitgaand dataverkeer
Team-abonnement$599 per maandSupport met voorrang
Single sign-on (SSO)
Auditlogs
Schaalbaarheid op basis van verbruik
Zelfgehoste VPS (Stack 16)$22,99 per maand voor 3 maanden, daarna $34,99 per maandOnbeperkt (alleen begrensd door de capaciteit van je server)

De basisprijs van Pro lijkt vergelijkbaar, maar in de praktijk loopt die door het verbruik snel op.

Uit de analyse van Supascale blijkt dat de meeste kleine tot middelgrote productie-apps op Pro uitkomen op $100–$200 per maand zodra extra rekenkracht en overschrijdingen meetellen. Alleen al de rekenniveaus van Supabase lopen van $10 per maand tot $3.730 per maand voor de 16XL-instance. Apps met 100K–200K maandelijks actieve gebruikers kunnen daar ruim boven uitkomen, en bij 500K MAU’s kan de rekening oplopen tot $1.000–$2.000 per maand.

Het gratis abonnement is gratis, totdat je het voor productie probeert te gebruiken.

Projecten pauzeren automatisch na zeven dagen inactiviteit. Je testomgeving valt dus elke week stil, en je hobbyprojecten gaan kapot zodra je op vakantie gaat. Volgens de prijsanalyse van UI Bakery voor 2026 is dit de meest voorkomende reden waarom mensen eerder dan verwacht overstappen van het gratis abonnement.

Zelf hosten draait de rekensom om. Je kosten hangen af van je infrastructuur, niet van je verbruik. 50.000 MAU’s kosten evenveel als 500.000, alleen begrensd door wat je VPS aankan. Geen kosten voor uitgaand dataverkeer, geen overschrijdingen voor opslag, geen extra rekenkracht om bij te kopen.

Zelf hosten is meer dan alleen een VPS-rekening

De rekening van je VPS is niet de enige kostenpost als je zelf host. Je bent ook op andere manieren geld en moeite kwijt:

  • Je tijd. Reken op een tot twee uur per maand voor routineonderhoud, zoals beveiligingsupdates, nieuwe Docker-images ophalen, logs controleren en back-ups verifiëren. Trek meer tijd uit als je functies toevoegt of opschaalt.
  • E-mailbezorging. Supabase Cloud verstuurt e-mails voor authenticatie (zoals wachtwoordherstel, magic links en e-mailverificatie) als beheerde service. Bij zelf hosten is dat niet zo. Je hebt een SMTP-provider nodig, zoals SendGrid, Mailgun of AWS SES. Reken op $0–$30 per maand, afhankelijk van het volume.
  • Objectopslag voor bestanden. De Storage-service gebruikt standaard het lokale bestandssysteem. Dat is prima om te testen en een tikkende tijdbom in productie. Je hebt S3-compatibele objectopslag nodig: AWS S3, Backblaze B2, Wasabi of een andere S3-compatibele dienst werkt allemaal. Reken op $5–$20 per maand voor een kleine tot middelgrote productie-app.
  • Back-upinfrastructuur. Zelf hosten komt niet met automatische back-ups, dus die moet je zelf instellen. Schrijf een simple pg_dump cron job en sla de uitvoer op een betrouwbare plek op. Sla deze stap niet over; je toekomstige zelf zal je dankbaar zijn.

Welke serverspecificaties heeft Supabase nodig?

Supabase vraagt veel geheugen. Je draait 12 containers tegelijk, waarvan de meeste nauw met de database samenwerken, dus RAM is belangrijker dan CPU. Het praktische minimum is 4 GB voor een ontwikkelomgeving waarin optionele services zijn uitgeschakeld. Voor productie wil je 8 GB of meer.

De oorzaak is het aantal containers, niet één specifieke service. Postgres wil shared buffers. PostgREST wil een connection pool. GoTrue heeft wat geheugen nodig voor de Go-runtime. Realtime houdt WebSocket-verbindingen open. Edge Runtime start V8-isolates op.

Afzonderlijk vraagt elke service niet veel. Samen loopt het snel op.

Heb je nog nooit een VPS ingericht? Begin dan met onze beginnersgids voor VPS voordat je de grootte van je server bepaalt.

Bij DreamHost is Stack 16 (4 vCPU, 16 GB RAM, 250 GB NVMe SSD, volledige root-toegang) het kleinste abonnement dat voldoet aan de door Supabase aanbevolen 4 kernen en 8 GB voor een installatie met alle optionele services. Stack 8 voldoet met 2 vCPU aan het aanbevolen geheugen en de aanbevolen schijfruimte, en is geschikt voor een kleine app of een stagingomgeving.

Welke VPS-grootte heeft Supabase nodig?

WerklastRAMCPUGeschikt voor
Ontwikkeling / licht4 GB2 kernenTesten, kleine hobbyprojecten, Analytics en Realtime uitgeschakeld
Standaard productie8 GB4 kernenKleine SaaS-apps, backends voor mobiele apps, alle services ingeschakeld
Zwaar16 GB+4-8 kernenMeer verkeer, zware Postgres-workloads, Edge Functions op grote schaal

Je kunt ook optionele services uit het Docker Compose-bestand halen om minder resources te gebruiken.

Geen realtime abonnementen nodig? Laat de Realtime-container weg.

Gebruik je geen Edge Functions? Verwijder de Edge Runtime.

Is analytics niet essentieel? Schrap Logflare.

Een uitgeklede stack past een stuk makkelijker op een VPS met 4 GB.

NVMe-opslag is belangrijker dan je zou denken. Postgres leest en schrijft voortdurend, en de latentie van je SSD bepaalt direct hoe snel query’s draaien. Oudere SATA-schijven of harde schijven met draaiende platen remmen je al af lang voordat de database echt iets te doen krijgt.

Hoe werkt de installatie van zelfgehoste Supabase?

Stappenplan in vijf stappen om de stack te starten: VPS inrichten, Docker installeren, repository klonen, secrets genereren

De volledige installatie bestaat uit ongeveer vijf stappen en duurt een tot twee uur als je vertrouwd bent met de terminal.

Dit moet je doen:

  1. Richt een VPS in met Ubuntu 22.04 of nieuwer, 8 GB RAM en SSH-toegang.
  2. Installeer Docker en Docker Compose op de server.
  3. Kloon de repository van Supabase en kopieer het voorbeeldbestand met omgevingsvariabelen: git clone https://github.com/supabase/supabase && cp supabase/docker/.env.example supabase/docker/.env
  4. Genereer en stel secrets in. Voer het script generate-keys.sh van Supabase uit om je JWT_SECRET, ANON_KEY en SERVICE_ROLE_KEY te genereren, en stel daarna POSTGRES_PASSWORD en de inloggegevens voor het dashboard in het bestand .env in.
  5. Voer docker compose up -d uit vanuit de map docker, en de volledige stack start op.

Je weet dat het gelukt is als docker compose ps elke service in de status running of healthy toont, en curl http://localhost:8000/rest/v1/ een JSON-antwoord van PostgREST teruggeeft.

Staat een container op restarting of exited? Bekijk dan eerst de logs van die container. Postgres is meestal de boosdoener, en de oorzaak is vaak een ontbrekende of verkeerd opgemaakte omgevingsvariabele.

De officiële documentatie van Supabase over zelf hosten met Docker behandelt elke omgevingsvariabele.

Kong, de API-gateway, staat vóór alles en regelt de routering. In productie zet je meestal een reverse proxy (een server tussen het internet en je applicatie die SSL en routering afhandelt) zoals Caddy of Nginx vóór Kong, om HTTPS af te handelen en de toegang tot het dashboard te beperken.

Sla je JWT_SECRET, ANON_KEY en SERVICE_ROLE_KEY op een betrouwbare plek op zodra ze zijn gegenereerd. Kwijtraken is geen ramp, want je kunt ze opnieuw genereren, maar nieuwe sleutels zorgen ervoor dat elke actieve gebruikerssessie verloopt en dat elke client-app nieuwe sleutels nodig heeft.

Wat je nodig hebt om Supabase zelf te hosten

  • Een VPS met Ubuntu 22.04+, minimaal 8 GB RAM en root-/SSH-toegang
  • Een domeinnaam die naar het IP-adres van je server verwijst
  • Docker en Docker Compose geïnstalleerd
  • Een SMTP-provider ingesteld voor e-mails voor authenticatie (SendGrid, Mailgun, AWS SES)
  • S3-compatibele objectopslag voor bestandsuploads in productie (optioneel maar aanbevolen)
  • Basiskennis van de terminal en ongeveer een tot twee uur tijd

Hoe houd je een zelfgehoste Supabase-instantie veilig?

De beveiliging van zelfgehoste Supabase rust op drie pijlers die specifiek zijn voor het platform, plus de standaard basishygiëne voor je VPS.

Drie beveiligingsrisico’s voor je database: een uitgelekt JWT-secret, onbeschermde tabellen

Het JWT-geheim

Elk autorisatietoken dat Supabase uitgeeft, wordt ondertekend met je JWT_SECRET. Lekt dat uit, dan kunnen aanvallers tokens vervalsen waarmee ze zich als elke willekeurige gebruiker voordoen.

De documentatie van Supabase over tokenbeveiliging legt uit hoe dat werkt: A shared secret that is in the hands of a malicious actor can be used to impersonate your users [and] give them access to privileged actions or data, and it is difficult to detect or identify when or how a shared secret has been given to a malicious actor.

Behandel de JWT_SECRET als het wachtwoord van een productiedatabase, want functioneel is dat precies wat het is. Bewaar het in een tool voor geheimbeheer, niet in een .env-bestand in Git, en nooit in je frontendbundel.

De aanbevolen aanpak voor productie is asymmetrische ondertekeningssleutels (RS256 of ECC). Die lek je minder snel per ongeluk dan een gedeeld geheim, en Supabase ondersteunt beide.

Row Level Security

De PostgREST-service van Supabase maakt elke tabel in je database beschikbaar als REST-endpoint.

Zonder Row Level Security-beleid op elke tabel kan elke geauthenticeerde gebruiker elke rij lezen en wijzigen. Dit is de grootste fout die nieuwe gebruikers maken als ze zelf hosten.

Schakel RLS vanaf dag één in op elke tabel, ook op de tabellen waarvan je denkt dat ze het niet nodig hebben.

Service role key

De SERVICE_ROLE_KEY is een superbeheerderssleutel die Row Level Security volledig omzeilt.

Deze sleutel is bedoeld voor aanroepen tussen backends waarbij je bewust de machtigingen op gebruikersniveau wilt overslaan. De sleutel mag nooit voorkomen in frontendcode, openbare repository's of bundels van client-apps. Lekt hij uit, dan ligt je hele database open.

Naast de Supabase-specifieke aandachtspunten geldt de gebruikelijke serverbeveiliging. Zet een firewall aan die alleen poort 22 (SSH), 80 (HTTP) en 443 (HTTPS) openstelt. Laat alles achter een reverse proxy met HTTPS draaien. Beperk de toegang tot Supabase Studio tot bekende IP-adressen en houd de server bij met patches. Onze tips voor cloudbeveiliging behandelen de algemene checklist voor beveiliging, dus neem die zeker even door.

Nog één ding: als je het JWT-geheim roteert, worden alle actieve gebruikerssessies direct ongeldig. Plan een onderhoudsvenster en roteer het niet op een vrijdagmiddag, anders krijg je het zwaar.

Zelfgehost of Supabase Cloud: wat zijn de afwegingen?

Zelfgehoste Supabase en Supabase Cloud zijn niet inwisselbaar. Elk wint op andere punten.

FunctieZelfgehostSupabase Cloud
Maandelijkse kosten$34,99 VPS (Stack 16, na de introductieprijs) + extra's$25 basis + kosten voor extra gebruik
Schalen voorbij de basisBegrensd door je VPSAutomatisch (tegen betaling)
Automatische back-upsZelf regelen (pg_dump via cron)Dagelijks automatisch + PITR
Logboeken (PostgREST, Edge Functions)Zelf gebouwde monitoringstackIngebouwd in het dashboard
Edge Functions bewerkenAlleen via de CLIEditor in het dashboard
E-mailbezorgingEigen SMTP-providerBeheerd
OndersteuningGemeenschap (GitHub, Discord)Betaalde abonnementen met SLA
Locatie van je dataWaar je maar wiltCloudregio's van Supabase
Naleving van regelgevingJouw verantwoordelijkheidPro+ vereist

Zelf hosten is zinvol als voorspelbare kosten belangrijker zijn dan het gemak van beheerde hosting, als je data fysiek op infrastructuur moet staan die je zelf beheert, of als je meerdere projecten draait die op Cloud elk $25+ per maand zouden kosten.

Cloud wint als je weinig capaciteit voor beheer hebt en als automatische back-ups en uptime met SLA-garantie niet onderhandelbaar zijn. Het is ook een goede keuze als je team klein is en de totale eigendomskosten echt in het voordeel van beheerde hosting uitvallen.

Er is ook een middenweg.

Tools als Coolify, Dokploy en Railway kunnen Supabase op je VPS uitrollen en beheren. Ze regelen updates, back-ups en een deel van de monitoring, zonder de volledig handmatige aanpak met Docker Compose.

Kortom: je krijgt het grootste deel van de kostenvoordelen van zelf hosten, met minder beheerwerk. Geen van deze tools haalt het verfijnde dashboard van Cloud, maar op grotere schaal zijn ze allemaal goedkoper dan Cloud.

Moet je Supabase echt zelf hosten?

Supabase zelf hosten is niet zozeer een kostenbeslissing als wel een operationele beslissing.

De VPS is goedkoop. Waar je eigenlijk voor tekent, is de verantwoordelijkheid voor de back-ups, de logs en de hele e-mailinfrastructuur voor authenticatie. Voor de meeste kleine teams loont die ruil pas als de prijzen van Cloud pijn gaan doen, of als dataresidentie geen leuke extra meer is maar een vereiste.

Ben je nog niet klaar voor de volledig handmatige installatie? Dan zitten tools als Coolify en Dokploy er mooi tussenin. Ze beheren de stack op je VPS met minder gedoe dan kale Docker Compose, en zodra je opschaalt, tegen lagere kosten dan Cloud.

De eerste maand zelf hosten is de lastigste. Je past resourcelimieten aan waarvan je het bestaan niet kende, ontdekt foutscenario's die niemand heeft gedocumenteerd en schrijft het draaiboek dat je zelf graag had gekregen.

Maand twee tot en met 12 worden rustig. Je haalt updates binnen met Docker Compose, draait elke nacht een pg_dump naar S3 en je factuur blijft gelijk.

De beste manier om te ontdekken aan welke kant je staat: start een Stack 4 ($8,99/mnd voor de eerste 3 maanden bij maandelijkse betaling), draai een week lang een Supabase-instantie die niet in productie is, en laat de ervaring voor je beslissen.

De cijfers vertellen je de rest.

Veelgestelde vragen over Supabase zelf hosten

Is zelfgehoste Supabase echt gratis?

Zelfgehoste Supabase is gratis opensourcesoftware onder de Apache 2.0-licentie. Je werkelijke kosten zijn de VPS, een optionele SMTP-provider voor e-mails voor authenticatie en optionele S3-compatibele opslag voor bestandsuploads in productie. Op Stack 16 reken je na de introductieprijs van 3 maanden op $34,99 per maand voor de server, plus $0 tot $30 voor een SMTP-provider en $5 tot $20 voor objectopslag.

Welke server heb ik nodig om Supabase zelf te hosten?

De aanbevolen specificaties voor productie zijn 8 GB RAM, 4 CPU-kernen en NVMe SSD-opslag. De volledige Supabase-stack draait ongeveer twaalf containers, en de meeste daarvan gebruiken werkgeheugen.

Je kunt een minimale ontwikkelinstantie op 4 GB draaien als je Analytics, Realtime en Edge Runtime uitschakelt in je Docker Compose-bestand. Het Stack 16-abonnement van DreamHost biedt 4 vCPU en 16 GB RAM met volledige root-toegang. Het is het kleinste abonnement dat voldoet aan de aanbevolen specificaties van Supabase. Bekijk onze abonnementen voor VPS-hosting voor het volledige aanbod.

Welke functies ontbreken in zelfgehoste Supabase?

De grootste gaten zijn automatische databaseback-ups, herstel naar een specifiek tijdstip (point-in-time recovery), edge functions bewerken via het dashboard, centrale logboeken voor PostgREST en Edge Functions, en beheerde e-mailbezorging. Je kunt voor alles vervangers bouwen (bijvoorbeeld een Cron Job met pg_dump, een eigen monitoringstack of een SMTP-provider), maar niets werkt direct uit de doos. Het dashboard van Supabase Studio werkt ook als je zelf host, maar het Cloud-dashboard is verder afgewerkt en krijgt nieuwe functies als eerste.

Hoe update ik een zelfgehoste Supabase-instantie?

Voer docker compose pull uit om de nieuwste images op te halen en daarna docker compose up -d om opnieuw op te starten met de nieuwe versies. Bij een gezonde instantie duurt de hele update ongeveer vijf minuten.

Maak vóór elke grote versie-update een back-up van je Postgres-database met pg_dump, zet je Docker-images in productie vast op specifieke versietags en lees in de releaseopmerkingen van Supabase na welke wijzigingen bestaande functionaliteit kunnen breken. De services voor Auth en Storage vereisen af en toe migratiestappen.

Kan ik overstappen van Supabase Cloud naar zelf hosten?

Ja, maar daar is meer voor nodig dan een database-export. De Postgres-data migreer je met pg_dump vanuit Cloud en pg_restore op je zelfgehoste installatie. Gebruikers in Auth, objecten in Storage en edge functions hebben elk hun eigen migratieroute.

Reken op een paar uur werk voor een klein project en langer voor complexe schema's.

Hulp nodig?

Of je nu vastzit of gewoon wat starttips nodig hebt: onze experts staan altijd voor je klaar. We helpen je graag.

Hulp van DreamHost Sales

24/7/365 via het chatvenster

Klantenservice via chat

24/7/365 via Panel

Ga naar Panel
E-mail klantenservice

24/7/365 via Panel

Ga naar Panel