Wat is er geïnstalleerd op je Supabase-server?
- De officiële Docker-opzet van Supabase, vastgezet op de releasetag v1.26.08
- PostgreSQL 17 en het beheerscherm Studio
- De diensten Auth, PostgREST, Realtime, Storage en Edge Runtime
- Supavisor-connectionpooler, met poort 5432 en 6543 open
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY en POSTGRES_PASSWORD, gegenereerd door de officiële scripts
- HTTPS via Caddy op een sslip.io-adres op basis van je IP, dus een domein is optioneel
- Instellingen in /opt/seturack/supabase/.env
- Firewall met alleen poort 22, 80, 443, 5432 en 6543 open
Welke grootte heb je nodig voor Supabase?
De Docker-documentatie van Supabase stelt het minimum op 4 GB RAM, 2 cores en 40 GB schijf, en raadt 8 GB RAM of meer, 4 of meer cores en 80 GB schijf of meer aan. Gebruik 4 GB als startpunt voor ontwikkeling en kleine projecten en kijk naar 8 GB voor een project met echte gebruikers. Diensten die je niet gebruikt, zoals Realtime of Storage, uit het Compose-bestand halen verlaagt de vereisten. Is dat niet genoeg, laat RAM, CPU en schijf dan los van elkaar groeien vanuit je paneel; je gegevens en IP-adres blijven hetzelfde.
| Gebruik | Grootte | Prijs | Kiezen |
|---|---|---|---|
| Starter | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mnd | |
| Gemiddeld | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mnd | |
| Krachtig | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mnd |
Voor wie is het?
- Iedereen die een Supabase-project naar een eigen server verhuist
- Mensen die een app met AI-tools hebben gebouwd en de database en login ervan op een eigen server willen
- Ontwikkelaars die een eigen ontwikkel- en testomgeving opzetten
Wat gebeurt er na je bestelling?
- Stel de grootte in en rond je betaling af.
- Je server start op en Supabase installeert zichzelf. Dat duurde in onze tests op echte servers ongeveer 8 minuten. Wacht op het tabblad Overzicht tot de rij App meldt dat Supabase klaar is.
- Open de link in de rij Paneeladres. Je browser vraagt om de Login en het Wachtwoord, daarna opent Studio.
- Verbind via SSH en lees de sleutels: grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Geef je app het Paneeladres en de publishable key, en houd de secret key aan de serverkant.
- Stel SITE_URL en ADDITIONAL_REDIRECT_URLS in .env in op het adres van je app en voer daarna docker compose up -d uit.
Bij elke server
- Dagelijkse back-up inbegrepen in de prijs
- Onbeperkt verkeer
- Volledige rootrechten
- Schaal RAM en CPU later op of af, en laat de schijf groeien
- Locatie: Istanbul · IST-1.
Goed om te weten
- Zelfgehoste Supabase draait één project. Volgens de officiële documentatie zijn branching, PITR, de Management API en analytics-buckets in deze opzet niet beschikbaar.
- Na de setup is SITE_URL van Auth het met een wachtwoord beveiligde Studio-adres, dus e-maillinks gaan daarheen. Zet het adres van je app in SITE_URL en ADDITIONAL_REDIRECT_URLS.
- Poort 5432 en 6543 staan open naar internet, en ufw kan ze niet sluiten omdat Docker ze publiceert. Om ze te beperken voeg je 127.0.0.1: toe aan het begin van de poortregels van Supavisor in docker-compose.yml en gebruik je een SSH-tunnel.
- Updates zijn jouw verantwoordelijkheid. Supabase publiceert zijn Compose-opzet ongeveer eens per maand, en het script update.sh in de map voegt wijzigingen samen met je installatie.
Vragen en antwoorden over Supabase
Hoeveel RAM heeft zelfgehoste Supabase nodig?
De documentatie van Supabase vraagt voor een zelfgehoste installatie minstens 4 GB RAM, 2 cores en 40 GB schijf, en raadt 8 GB RAM of meer aan. Diensten die je niet gebruikt uit het Compose-bestand halen verlaagt de vereisten.
Waar vind ik mijn Supabase-API-sleutels?
Verbind via SSH en kijk in /opt/seturack/supabase/.env. SUPABASE_PUBLISHABLE_KEY is voor clientcode. SUPABASE_SECRET_KEY heeft volledige rechten en hoort alleen aan de serverkant. De oudere ANON_KEY en SERVICE_ROLE_KEY blijven werken.
Hoe verbind ik mijn app met zelfgehoste Supabase?
Geef met supabase-js het Paneeladres en de waarde van SUPABASE_PUBLISHABLE_KEY mee aan createClient. REST, Auth, Storage en Realtime draaien allemaal onder dat adres. De login en het wachtwoord waar je browser om vraagt, zijn alleen voor Studio, en API-verzoeken worden op sleutel gecontroleerd.
Hoe verbind ik van buitenaf met de Supabase-database?
Verbindingen lopen via Supavisor: postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres. Poort 5432 is sessiemodus en 6543 is transactiemodus. your-tenant-id is de waarde van POOLER_TENANT_ID in .env. Postgres zelf wordt niet naar buiten gepubliceerd.
Waarom komen de aanmeldmails van Supabase niet aan?
Bij de installatie is geen echte SMTP-server ingesteld, dus aanmeldingen met e-mailbevestiging kunnen niet worden voltooid. Vul de waarden die met SMTP_ beginnen in /opt/seturack/supabase/.env in voor je e-mailprovider en voer daarna in die map docker compose up -d uit. Wil je aanmeldingen zonder bevestiging toestaan, kijk dan naar de instelling ENABLE_EMAIL_AUTOCONFIRM.
Kan ik meerdere Supabase-projecten draaien?
Eén installatie draait één project, en Studio ondersteunt geen meerdere organisaties of projecten. Gebruik voor elk project een aparte server.
Wordt er een back-up van mijn Supabase-gegevens gemaakt?
Er wordt elke nacht een back-up van je server gemaakt, de laatste 7 dagen blijven bewaard en dit zit in de prijs inbegrepen. De beheerde back-ups en PITR van Supabase maken geen deel uit van een zelfgehoste installatie. Wil je terug naar een bepaald moment, bewaar dan ook je eigen pg_dump-bestanden.