Je gebruikt nu al een paar maanden Supabase Cloud, en de rekening blijft maar oplopen.
Elk extra stukje database-egress voegt een post toe. Elke 10.000 maandelijks actieve gebruikers brengt je dichter bij een overschrijding.
Het Pro-abonnement dat begon bij $25 per maand lijkt nu meer op $70.
Ergens tussen de prijspagina en je werkelijke factuur voelde de economie zich niet meer als een koopje.
Zelf-hosting is het voor de hand liggende alternatief, maar “voor de hand liggend” doet daar veel werk. Supabase is niet een enkelvoudig binair bestand dat je op een server plaatst. Het is een volledige backend stapel — een Postgres-database, een authenticatiedienst, een REST API, realtime abonnementen, opslag, edge functies, en een dashboard — allemaal verbonden en draaiend als een kleine vloot van Docker containers.
Het draaien van die vloot op je eigen server kost tussen de $12 en $25 per maand voor een VPS met genoeg RAM om alles in geheugen te houden. Dat zijn twee streamingabonnementen per maand voor een backend die je niet extra in rekening brengt bij verkeerspieken.
Wat Is Supabase, en Waarom Hosten Mensen Het Zelf?
Supabase is een open-source Backend as a Service (BaaS) platform dat een Postgres-database, authenticatie, een REST API, realtime-abonnementen, opslag en edge-functies bundelt in één enkele implementatie.
Het is het Firebase-alternatief dat op je eigen infrastructuur draait als je dat wilt. De GitHub-repository heeft per mei 2026 100.000 sterren overschreden, en het platform ondersteunt backends voor ondernemingen zoals Mozilla, PwC, Johnson & Johnson en 1Password.
De vraag is of je het operationele werk dat Supabase Cloud voor je afhandelt zelf wilt bezitten of dat je iemand anders wilt betalen om het te doen. We hebben het over back-ups, logboeken, e-maillevering en updates.
Mensen hosten zelf Supabase om drie redenen:
- Ze willen voorspelbare kosten die niet meeschalen met gebruik.
- Ze willen hun gegevens op infrastructuur die ze beheren.
- Ze willen uit de val van leveranciersafhankelijkheid die het verlaten van Firebase zo pijnlijk maakte.
Supabase is zelf verfrissend openhartig over wie wel en niet zelf moet hosten. De officiële documentatie voor zelfhosting zegt het duidelijk: “Zelfgehoste Supabase wordt ondersteund door de gemeenschap. Je ontvangt niet hetzelfde niveau van officiële ondersteuning als klanten van Supabase Cloud.”
Vertaling: Als er iets kapot gaat om 2 uur ‘s nachts, moet je het zelf oplossen.
Wat Supabase Je Eigenlijk Uit De Doos Biedt

Als je dacht dat Supabase alleen “Postgres met een REST API” was, is dat niet zo. De zelfgehoste stack draait ongeveer 12 containers parallel.
De onderdelen die je het vaakst zult gebruiken zijn vrij eenvoudig:
- Postgres. De database die de kern vormt van alles. Supabase gebruikt een moderne PostgreSQL build met uitbreidingen voor auth, realtime en volledige tekstzoeken.
- PostgREST. Genereert automatisch een REST API van je Postgres-schema. Een tabel wordt een eindpunt en je hoeft geen backend code te schrijven om dat te laten gebeuren.
- Auth (voorheen GoTrue). Beheert aanmeldingen, inloggen, wachtwoordresets, OAuth en de uitgifte van JWT’s.
- Realtime. Stuurt databasewijzigingen naar verbonden clients via WebSockets.
- Opslag. S3-compatibele objectopslag met toegangsbeheer gekoppeld aan je database.
- Edge Functions. Deno-gebaseerde serverloze functies die dicht bij je gebruikers draaien.
- Supabase Studio. Het dashboard waar je tabellen doorzoekt, SQL uitvoert en auth-gebruikers beheert.
Je krijgt ook Kong als de API-gateway, imgproxy voor afbeeldingsbehandeling, Supavisor voor verbindingspooling en Logflare voor analyses. Als je alles bij elkaar optelt, kijk je naar een volledige backend stack, niet naar een eenvoudige app.
Wat Kost Het Om Supabase Zelf Te Hosten?
Zelf Supabase hosten op een VPS kost $12–$25 per maand, inclusief de server, opslag en bandbreedte. De Supabase software zelf is gratis.
Bekijk even je laatste Supabase Cloud-factuur. Het post waar mensen vaak door verrast worden, is niet de basis $25. Het zijn de database uitgaande data en extra opslag, welke het Pro-abonnement apart meet (Supascale’s kostenoverzicht van 2026 loopt door de posten heen).
Vergelijk dat met Supabase Cloud:
| Plan | Basisprijs | Wat Je Krijgt |
|---|---|---|
| Gratis | $0 | 500 MB database 50K maandelijkse actieve gebruikers 1 GB opslag Pauzeert na 7 dagen van inactiviteit |
| Pro | $25/maand | 8 GB database 100K maandelijkse actieve gebruikers 100 GB opslag 250 GB uitgaand verkeer |
| Team | $599/maand | Voorrangsondersteuning Single Sign-On (SSO) Auditlogboeken Gebruik-gebaseerd schalen |
| Zelf gehoste VPS | $12-$25/maand | Ongelimiteerd (alleen begrensd door servercapaciteit) |
De basisprijs van Pro lijkt vergelijkbaar, maar bij daadwerkelijk gebruik loopt deze snel op.
Uit de analyse van Supascale blijkt dat de meeste kleine tot middelgrote productie-apps uitkomen op $100–$200/maand bij Pro, eenmaal rekening houdend met add-ons voor rekenen en overschrijdingen van gebruik — de rekenlagen van Supabase beginnen al vanaf $10/maand tot $3.730/maand voor de 16XL-instance. Apps met 100K–200K maandelijks actieve gebruikers kunnen dat ruimschoots overschrijden, en bij 500K MAU’s kunnen rekeningen oplopen tot $1.000–$2.000/maand.
De gratis versie is gratis — totdat je het probeert te gebruiken voor productie.
Projecten pauzeren automatisch na zeven dagen van inactiviteit, wat betekent dat je testomgeving elke week sterft en je zijprojecten elke keer kapot gaan als je op vakantie gaat. Volgens de prijsopbouw van UI Bakery voor 2026, is dit de meest voorkomende reden waarom mensen het gratis plan eerder verlaten dan verwacht.
Zelfhosting keert de vergelijking om. Jouw kosten blijven gekoppeld aan je infrastructuur, niet aan je gebruik. Het runnen van 50.000 MAUs kost hetzelfde als het runnen van 500.000, alleen beperkt door wat je VPS aankan. Geen uitgaande kosten, geen overschrijding van opslag, geen extra rekenkracht.
Zelf-Hosting Is Niet Alleen Een VPS-Rekening
De VPS-rekening is niet de enige kost voor zelfhosting. Je zult ook op andere manieren uitgeven:
- Jouw tijd. Reken op één tot twee uur per maand voor routineonderhoud, zoals beveiligingsupdates, Docker image pulls, logboeken controleren en back-ups verifiëren. Trek meer tijd uit als je functies toevoegt of gaat opschalen.
- E-mailbezorging. Supabase Cloud behandelt auth-e-mails (bijv. wachtwoord resets, magische links, e-mailverificatie) als een beheerde dienst. Zelfhosting doet dat niet. Je hebt een SMTP-provider zoals SendGrid, Mailgun of AWS SES nodig. Reken op $0-$30/maand afhankelijk van het volume.
- Objectopslag voor bestanden. De opslagdienst gebruikt standaard het lokale bestandssysteem, wat prima is voor testen en een tikkende tijdbom in productie. Je hebt S3-compatibele objectopslag nodig – AWS S3, Backblaze B2, Wasabi, of DreamHost’s DreamObjects werken allemaal. Budgetteer $5–$20/maand voor een kleine tot middelgrote productie-app.
- Back-upinfrastructuur. Zelfhosting komt niet met automatische back-ups, dus je zult ze zelf moeten opzetten. Schrijf een
`eenvoudige pg_dump`cron job en sla de output ergens betrouwbaar op. Sla dit onderdeel niet over; je toekomstige zelf zal je dankbaar zijn.
Welke Server Specificaties Heeft Supabase Nodig?
Supabase is geheugenhongerig. Het gelijktijdig draaien van 12 containers, waarvan de meeste database-gerelateerd zijn, betekent dat RAM belangrijker is dan CPU. Het praktische minimum is 4 GB voor een ontwikkelingsinstantie met optionele diensten uitgeschakeld. Productie-implementaties vereisen 8 GB of meer.
De reden is het aantal containers, niet een enkele service. Postgres vereist gedeelde buffers. PostgREST wil een connectiepool. GoTrue heeft een kleine voetafdruk nodig voor de Go-runtime. Realtime houdt WebSocket-verbindingen open. Edge Runtime start V8 isolates op.
Afzonderlijk is elke service bescheiden. Gecombineerd lopen ze snel op.
Als je nog nooit eerder een VPS hebt ingericht, begin dan met onze beginnersgids voor VPS voordat je je server dimensioneert.
Bij DreamHost biedt ons Self-Managed VPS Stack 8-plan 8 GB RAM met NVMe SSD-opslag en volledige root-toegang, de juiste grootte voor een standaard Supabase-implementatie met alle optionele services.
Welke VPS-Grootte Heeft Supabase Nodig?
| Werklast | RAM | CPU | Geschikt Voor |
|---|---|---|---|
| Dev / licht | 4 GB | 2 kernen | Testing, kleine zijprojecten, Analytics en Realtime uitgeschakeld |
| Standaard productie | 8 GB | 4 kernen | Kleine SaaS-apps, mobiele app backends, alle diensten ingeschakeld |
| Zwaar | 16 GB+ | 4-8 kernen | Meer verkeer, grote Postgres workloads, Edge Functions op schaal |
Je kunt ook optionele services uit het Docker Compose-bestand verwijderen om de voetafdruk te verkleinen.
Heb je geen realtime-abonnementen nodig? Sla de Realtime-container over.
Niet gebruik makend van Edge Functions? Verwijder de Edge Runtime.
Analytics niet cruciaal? Verwijder Logflare.
Een uitgeklede stapel past mogelijk comfortabeler op een 4 GB VPS.
NVMe-opslag is belangrijker dan je zou denken. Postgres is voortdurend aan het lezen en schrijven, en SSD-latentie heeft direct invloed op de snelheid waarmee queries uitgevoerd worden. Oudere SATA-schijven of draaiende schijven vertragen je al lang voordat de database interessant wordt.
Hoe Werkt De Zelfgehoste Supabase Installatie?

De volledige implementatie bestaat uit ongeveer vijf stappen en duurt één tot twee uur als je je comfortabel voelt in een terminal.
Hier is wat je moet doen:
- Installeer een VPS met Ubuntu 22.04 of nieuwer, 8 GB RAM en SSH-toegang.
- Installeer Docker en Docker Compose op de server.
- Kloon het Supabase-repository en kopieer het voorbeeld van het omgevingsbestand:
`git clone https://github.com/supabase/supabase && cp supabase/docker/.env.example supabase/docker/.env` - Genereer en stel geheimen in. Voer Supabase’s
`generate-keys.sh`script uit om jeJWT_SECRET,ANON_KEY, enSERVICE_ROLE_KEYte produceren, stel danPOSTGRES_PASSWORDen dashboardgegevens in in het .env-bestand. - Voer
`docker compose up -d`uit vanuit de dockermap, en de volledige stack wordt opgestart.
Je weet dat het werkt als `docker compose ps` elke service in een `running` of `healthy` toestand toont, en `curl http://localhost:8000/rest/v1/` een JSON-reactie van PostgREST teruggeeft.
Als een container in `restarting` of `exited` staat, controleer dan eerst de logboeken van die container. Postgres is meestal de boosdoener, en de oorzaak is meestal een ontbrekende of onjuist gevormde env var.
De officiële Supabase Docker zelfhosting documentatie loopt door elke omgevingsvariabele heen.
Kong, de API-gateway, bevindt zich voor alles en houdt zich bezig met routering. In productie plaats je doorgaans een reverse proxy (een server die zich tussen het internet en je applicatie bevindt en SSL en routering afhandelt) zoals Caddy of Nginx voor Kong om HTTPS te beëindigen en toegang tot het dashboard te beperken.
Bewaar je JWT_SECRET, ANON_KEY en SERVICE_ROLE_KEY op een betrouwbare plek zodra ze gegenereerd zijn. Ze kwijtraken is niet rampzalig omdat je ze kunt regenereren, maar het roteren dwingt elke actieve gebruikerssessie te verlopen en elke client-app om nieuwe sleutels te halen.
Wat Je Nodig Hebt Om Supabase Zelf Te Hosten
- Een VPS met Ubuntu 22.04+ met minstens 8 GB RAM en Root/SSH-toegang
- Een domeinnaam gericht op het IP van je server
- Docker en Docker Compose geïnstalleerd
- Een SMTP-provider geconfigureerd voor auth e-mails (SendGrid, Mailgun, AWS SES)
- S3-compatibele objectopslag voor productiebestandsuploads (optioneel maar aanbevolen)
- Basiscomfort in de terminal en ongeveer een tot twee uur
Hoe Houd Je Een Zelfgehoste Supabase-Instantie Veilig?
Zelfgehoste Supabase-beveiliging steunt op drie specifieke pilaren voor het platform, plus de standaard VPS-hygiëne.

Het JWT Geheim
Elke autorisatietoken die Supabase uitgeeft is ondertekend met jouw JWT_SECRET. Als dit uitlekt, kunnen aanvallers tokens vervalsen die elke gebruiker kunnen nabootsen.
De Supabase tokenbeveiligingsdocumenten leggen uit hoe het werkt: “Een gedeeld geheim dat in handen is van een kwaadwillende kan gebruikt worden om je gebruikers te imiteren [en] hen toegang te geven tot bevoorrechte acties of gegevens, en het is moeilijk te detecteren of te identificeren wanneer of hoe een gedeeld geheim aan een kwaadwillende is gegeven.”
Behandel de JWT_SECRET als een productiedatabase wachtwoord, omdat het functioneel gezien precies dat is. Bewaar het in een geheimenbeheerder, niet in een `.env` bestand in Git, en nooit in je frontend bundel.
De aanbevolen productiepad is asymmetrische ondertekeningssleutels (RS256 of ECC). Ze zijn moeilijker per ongeluk te lekken dan een gedeeld geheim, en Supabase ondersteunt beide.
Rijniveau Beveiliging
De PostgREST-service van Supabase stelt elke tabel in je database beschikbaar als een REST-eindpunt.
Zonder Row Level Security-beleid op elke tabel kan elke geverifieerde gebruiker elke rij lezen en schrijven. Dit is de grootste fout die nieuwe gebruikers maken bij zelfhosting.
Activeer RLS op elke tafel vanaf dag één, inclusief de tafels waarvan je denkt dat ze het niet nodig hebben.
Service Rol Sleutel
De SERVICE_ROLE_KEY is een super-admin sleutel die Row-Level Security volledig omzeilt.
Het is bedoeld voor backend-naar-backend oproepen waarbij je expliciet gebruikersniveau-permissies moet overslaan. De sleutel mag nooit verschijnen in frontend code, openbare repo’s of client app bundels. Als deze uitlekt, is je volledige database blootgesteld.
Naast specifieke zorgen rondom Supabase, is standaard serverbeveiliging van toepassing. Schakel een firewall in die alleen poorten 22 (SSH), 80 (HTTP) en 443 (HTTPS) openstelt. Draai alles achter een reverse proxy met HTTPS. Beperk Supabase Studio tot bekende IP’s en houd de server up-to-date. Onze tips voor cloudbeveiliging omvatten de algemene checklist voor beveiliging, dus je wilt hier zeker naar kijken.
Nog één ding: het roteren van het JWT-geheim maakt onmiddellijk elke actieve gebruikerssessie ongeldig. Plan een onderhoudsperiode, en doe dit niet op een vrijdagmiddag — anders zal je een slechte tijd beleven.
Wat Zijn de Voor- en Nadelen van Zelf Gehost vs. Supabase Cloud?
Self-hosted Supabase en Supabase Cloud zijn niet uitwisselbaar. Elk wint op verschillende vlakken.
| Functie | Zelf Gehost | Supabase Cloud |
|---|---|---|
| Maandelijkse kosten | $12-$25 VPS + add-ons | $25 basis + gebruiksoverschrijdingen |
| Schalen voorbij de basis | Beperkt door je VPS | Automatisch (tegen een prijs) |
| Geautomatiseerde back-ups | Zelf doen (pg_dump cron) | Dagelijks geautomatiseerd + PITR |
| Logboeken (PostgREST, Edge Functies) | Zelf observatiestapel doen | Ingebouwd in dashboard |
| Edge Functies bewerken | Alleen CLI | Bewerker in dashboard |
| E-mail levering | Zelf doen SMTP provider | Beheerd |
| Ondersteuning | Gemeenschap (GitHub, Discord) | Betaalde niveaus met SLA |
| Locatie van gegevens | Waar je maar wilt | Supabase’s cloudregio’s |
| Naleving | Je eigen het | Pro+ vereist |
Zelfhosting is logisch wanneer voorspelbare kosten belangrijker zijn dan beheerd gemak, wanneer je gegevens fysiek nodig hebt op infrastructuur die je controleert, of wanneer je meerdere projecten uitvoert die elk meer dan $25 per maand zouden kosten op Cloud.
Cloud wint als de capaciteit voor operaties schaars is en wanneer geautomatiseerde back-ups en een uptime-garantie ononderhandelbaar zijn. Het is ook een goede keuze als je team klein is en de totale eigendomskosten daadwerkelijk in het voordeel zijn van beheerde hosting.
Er is ook een middenweg.
Tools zoals Coolify, Dokploy, en Railway kunnen Supabase op je VPS implementeren en beheren, updates, back-ups en enige observatie afhandelen zonder de volledige handmatige Docker Compose aanpak.
Eenvoudig gezegd, je krijgt de meeste economie van zelfhosting met minder operationele overhead. Geen van hen komt overeen met de afwerking van Cloud’s Dashboard, maar ze kosten allemaal minder dan Cloud op schaal.
Moet Je Echt Zelf Supabase Hosten?
Supabase zelf hosten is niet zozeer een kostenbeslissing als wel een operationele beslissing.
De VPS is goedkoop. Waar je je eigenlijk voor aanmeldt, is het bezitten van de back-ups, de logboeken en de auth e-mailinfrastructuur. Voor de meeste kleine teams is die ruil alleen zinvol wanneer de prijzen van Cloud beginnen te bijten of wanneer gegevensresidentie ophoudt een leuk extraatje te zijn en een vereiste wordt.
Als je nog niet klaar bent voor de volledige handmatige installatie, zitten tools zoals Coolify en Dokploy ergens in het midden. Ze beheren de stack op je VPS met minder overhead dan ruwe Docker Compose en tegen lagere kosten dan Cloud zodra je opschalen.
De eerste maand van zelf-hosting is de moeilijkste. Je gaat aanpassingen maken aan bronlimieten waarvan je niet wist dat ze bestonden, ontdekt foutmodi die niemand heeft gedocumenteerd en schrijft het draaiboek dat je wenste dat iemand anders jou had gegeven.
Maanden twee tot en met twaalf worden rustig. Je haalt updates op met Docker Compose, voert een nachtelijke pg_dump uit naar S3, en je factuur blijft gelijk.
De beste manier om erachter te komen aan welke kant je staat: start een VPS van $12, draai een week lang een niet-productie Supabase-instantie en laat de ervaring de beslissing voor je nemen.
De economie zal je de rest vertellen.

Beheer je volledige stack. Apps, AI, databases en meer.
Houd al je inloggegevens en gesprekken op een server die jij beheert, met ingebouwde NVMe-snelheid en ongelimiteerde bandbreedte.
Bekijk VPS-hostingabonnementenVeelgestelde Vragen Over Zelf-Hosting Van Supabase
Weet je niet zeker of zelf hosten van Supabase de juiste stap is? Hieronder staan enkele vragen die de meeste mensen stellen voordat ze de sprong wagen.
Is Self-Hosted Supabase Echt Gratis?
Zelf-gehoste Supabase is gratis, open-source software gelicenseerd onder Apache 2.0. Je daadwerkelijke kosten zijn de VPS, een optionele SMTP-provider voor auth e-mails, en optionele S3-compatibele opslag voor het uploaden van productiebestanden. Budgetteer ongeveer $15 tot $50 per maand alles inbegrepen voor een kleine productie-implementatie.
Welke server heb ik nodig om Supabase zelf te hosten?
De aanbevolen productspecificatie is 8 GB RAM, 4 CPU-cores en NVMe SSD-opslag. De volledige Supabase stack draait ongeveer een dozijn containers, en de meeste daarvan bevatten werkgeheugen.
Je kunt een minimale ontwikkelingsinstantie draaien op 4 GB als je Analytics, Realtime en Edge Runtime uitschakelt in je Docker Compose-bestand. DreamHost’s Self-Managed VPS Stack 8 plan biedt 8 GB RAM met volledige Root-toegang; zie onze VPS hosting plannen voor het volledige assortiment.
Welke Functies Ontbreken Bij Zelf-gehoste Supabase?
De grootste hiaten zijn geautomatiseerde databasereserves, herstel op een specifiek tijdstip, dashboard-gebaseerde bewerking van edgefuncties, uniforme logboeken voor PostgREST en Edge Functions, en beheerde e-maillevering. Je kunt vervangingen bouwen voor al deze elementen (bijv. `pg_dump` Cron Job, een aangepaste observability stack, een SMTP-provider), maar niets is standaard beschikbaar. Het Supabase Studio-dashboard werkt op self-hosted, maar het Cloud-dashboard heeft meer afwerking en eerst nieuwere functies.
Hoe update ik een zelf-gehoste Supabase instance?
Voer `docker compose pull` uit om de nieuwste afbeeldingen op te halen, en daarna `docker compose up -d` om opnieuw op te starten met de nieuwe versies. De hele update duurt ongeveer vijf minuten op een gezonde instantie.
Maak een back-up van je Postgres-database met `pg_dump` voor elke belangrijke versie-update, pin je Docker-afbeeldingen aan specifieke versietags in productie en lees de release-opmerkingen van Supabase voor belangrijke wijzigingen. Auth en opslagservices vereisen af en toe migratiestappen.
Kan ik migreren van Supabase Cloud naar zelf gehost?
Ja, maar het vereist meer dan alleen een database-export. De Postgres-gegevens migreren met `pg_dump` vanaf Cloud en `pg_restore` op zelf-gehost. Auth-gebruikers, opslagobjecten en edgefuncties hebben elk hun eigen migratiepaden.
Plan een paar uur werk voor een klein project en langer voor complexe schema’s.
