Sari la conținut
Danube Labs

Supabase gratis: găzduit, local sau self-hosted

Supabase poate costa zero găzduit, local sau pe propriul server, dar fiecare opțiune cere altceva. Iată limitele reale, munca de self-hosting și cum se compară PocketBase, Appwrite și Nhost.

De Alexandru Secureanu7 min de citit
Trei căi către un proiect Supabase gratuit: găzduit, Docker local și un stack self-hosted

Supabase are un nivel găzduit gratuit, un stack open source pe care îl poți rula pe propriul calculator sau server și un stack local pe care CLI-ul îl pornește în Docker. Toate trei pot costa zero, dar cer cantități diferite de timp și vin cu riscuri diferite. Întrebarea utilă nu este dacă Supabase este gratis, ci ce parte din el ești dispus să operezi. Iată opțiunile, așa cum le descriu astăzi Supabase și proiectele concurente.

Ce include planul gratuit găzduit?

Pagina de prețuri dă planului Free două proiecte active. Fiecare proiect primește 500 MB de spațiu pentru baza de date, iar planul include 1 GB pentru fișiere și 5 GB de egress. Mai dă și 50.000 de utilizatori activi lunar, cereri API nelimitate, 500.000 de invocări de Edge Functions și 2 milioane de mesaje Realtime, cu maximum 200 de conexiuni simultane. Pentru un proiect mic, limitele sunt rezonabile: un site de prezentare, un instrument intern sau un prototip încap de obicei. Un produs cu upload de imagini sau cu un API solicitat va atinge mai întâi limitele de stocare și de trafic.

Partea pe care lumea o ratează este pauzarea. Supabase pune în pauză proiectele Free cu activitate redusă pe parcursul a șapte zile. Documentația spune că de obicei ajung câteva cereri pe zi către baza de date ca să rămână activ, iar proprietarul primește un e-mail de avertizare cu circa o săptămână înainte și unul de confirmare când pauza se aplică. Un proiect pausat nu mai răspunde la cereri, dar datele rămân. Ca să îl restorezi, deschizi dashboardul, alegi organizația și proiectul pausat, apoi apeși Resume project. Corpul paginii dă o fereastră de restaurare de un an, în timp ce un titlu de pe aceeași pagină spune încă 90 de zile, așa că planifică pentru perioada mai scurtă și păstrează un backup independent. Proiectele plătite nu sunt pausate din inactivitate.

Două limite mai mici contează în practică. Edge Functions au propria alocare de invocări, iar Realtime are un plafon de conexiuni, deci un instrument care ține un socket deschis pentru fiecare vizitator este altă poveste decât unul care interoghează la cerere. Nivelul gratuit este generos pentru un prototip și subțire pentru trafic constant.

Este Supabase open source și ce include self-hostingul?

Depozitul principal supabase/supabase declară licența Apache-2.0. Self-hostingul este o cale oficială, iar ghidul de self-hosting numește Docker Compose cea mai rapidă și recomandata metodă. O instalare self-hosted este un singur proiect Supabase, nu o platformă multi-tenant: ghidul spune că Studio nu suportă mai multe organizații sau proiecte și că majoritatea setărilor vin din variabile de mediu.

Ghidul Docker enumeră ce rulează. În față stă un gateway API Envoy, cu Kong disponibil ca alternativă. În spate sunt Auth, PostgREST, Realtime, Storage, Edge Runtime, postgres-meta și Studio, peste o singură instanță Postgres, cu Supavisor care face pooling pentru conexiuni. imgproxy, Logflare și Vector sunt opționale și consumă resurse în plus. Gateway-ul ascultă pe portul 8000, iar în producție un reverse proxy precum Caddy sau Nginx termină TLS pe 443 în fața lui. Minimul declarat este 4 GB de RAM, 2 nuclee și 40 GB de SSD, cu 8 GB, 4 nuclee și 80 GB recomandate.

Urmează partea care decide dacă self-hostingul este ieftin sau scump. Supabase enumeră ce rămâne în sarcina operatorului: provisionarea și întreținerea serverului, securizarea și actualizarea sistemului de operare, configurarea serviciilor, întreținerea Postgres, disponibilitatea și scalarea, backupurile și recuperarea după dezastru, monitorizarea. Generezi singur cheile și secretele, setezi URL-urile publice și configurezi SMTP pentru e-mailurile de autentificare, iar documentația avertizează să nu pornești cu valorile din exemplu. Self-hostingul Supabase are suport din comunitate. Mai multe funcții sunt doar în varianta gestionată: branching, metrici avansate dincolo de loguri, backupuri gestionate și point-in-time recovery, analytics și vector buckets, ETL și Management API. În schimb, stackul nu trimite date către Supabase și nu colectează telemetrie, iar datele rămân pe hardware-ul tău.

Compromisul, într-o propoziție: nivelul gratuit găzduit îți dă un proiect funcțional în câteva minute, iar self-hostingul îți dă control în schimbul faptului că devii operator.

Pot rula tot stackul local, gratuit?

Da, și este opțiunea pe care o folosim cel mai des. Ghidul de dezvoltare locală pornește totul cu npx supabase start, după ce instalezi CLI-ul. Pagina CLI dă pachetul npm ca supabase, instalat cu npm install supabase --save-dev, și documentează și Homebrew ori pnpm. Ai nevoie de un manager de containere compatibil cu API-ul Docker; ghidul numește Docker Desktop, OrbStack, Rancher Desktop și Podman. Studio pornește la http://localhost:54323.

Stackul local nu consumă cotă de proiect și nu costă nimic în afara calculatorului tău. Funcționează offline, ține datele de test local și îți permite să resetezi baza de date fără să întrebi pe nimeni. Este locul potrivit pentru dezvoltare, migrări, teste de integrare și instrumente personale mici. Nu este un host de producție. Ghidul avertizează să nu îl expui și arată cum să îl legi la 127.0.0.1 într-o rețea nesigură, iar documentația descrie un Postgres pornit din CLI ca nefiind pregătit de producție. Cu porturile implicite rulează un singur proiect local pe calculator; mai multe simultan este o funcție experimentală, supabase stack, pe Linux și pe macOS cu Apple silicon.

Cum se compară Supabase cu PocketBase, Appwrite și Nhost?

Cele trei proiecte concurează pentru același loc, un backend pe care îl poți porni gratuit, și fiecare pariază altfel.

PocketBase este un backend Go cu licență MIT, livrat ca un singur fișier. Include SQLite, un dashboard de administrare, autentificare cu e-mail și parolă plus furnizori OAuth2, stocare de fișiere cu backend opțional de tip S3, abonamente realtime și un API REST. Îl extinzi cu hook-uri în Go și JavaScript. Diferența stă în forma sistemului: PocketBase este un proces și o bază de date încorporată, simplu de rulat și de copiat, în timp ce Supabase este Postgres plus o serie de servicii pe care le poți scala și separa. Dacă ai nevoie de extensii Postgres sau de un server de baze de date la care să te conectezi cu unelte SQL obișnuite, PocketBase nu este asta.

Appwrite are licență BSD-3-Clause și se numește cloudul open source pentru agenți și dezvoltatori. Include autentificare, baze de date, stocare de fișiere cu transformări de imagine, funcții serverless, evenimente realtime, găzduire de site-uri și mesagerie. Este gândit pentru self-hosting, cu instalare prin Docker, Kubernetes și marketplace, iar o instanță self-hosted poate fi configurată cu aceleași funcții ca în cloud. Baza de date este API-ul propriu Appwrite, cu PostgreSQL și MySQL gestionate oferite alături, deci modelul este o platformă largă, nu un strat subțire peste Postgresul pe care îl știi deja.

Nhost are licență MIT și se descrie drept alternativa open source la Firebase, cu GraphQL. Include o bază Postgres cu API GraphQL instant, autentificare, stocare servită prin CDN, funcții serverless în JavaScript sau TypeScript și posibilitatea de a rula propriile containere. Pagina de self-hosting listează o ediție comunitară, o variantă self-hosted cu suport și un cluster dedicat. Arhitectural este cel mai aproape de Supabase, pentru că ambele pun Postgres și extensiile lui în centru și adaugă autentificare, stocare și funcții în jur. Diferența este API-ul cu care programezi: GraphQL în primul rând, nu PostgREST și bibliotecile cliente Supabase.

Pe scurt: PocketBase când ajung un binar mic și SQLite, Appwrite când vrei o platformă largă pe care o poți găzdui și singur, Nhost când vrei Postgres cu GraphQL, Supabase când vrei Postgres cu un ecosistem mare și un nivel gratuit gestionat. Niciunul nu este gratuit în sensul fără muncă. Fiecare mută munca în alt loc.

Dar când vrei să administrezi mai multe proiecte Supabase locale?

Supabase Local Manager, proiectul nostru, există pentru acest caz îngust. Este un proiect independent, neafiliat cu Supabase, Inc., neaprobat și nesponsorizat de aceasta, și este în acces timpuriu, cu codul sursă privat; accesul se cere prin GitHub. Site-ul declară GPL-3.0-or-later. Un singur serviciu Node și Express provisionează și administrează mai multe stackuri Supabase locale simultan, iar fiecare proiect rezervă un bloc de 11 porturi din banda 60000. O intrare rutată pe cale, pe portul 6000, și un proxy pe subdomenii, pe portul 9000, dau fiecărui proiect un punct de acces stabil. CLI-ul Supabase open source se ocupă de administrarea de bază a bazei de date, iar produsul adaugă serviciile, API-urile și interfața pe care le cere un stack Supabase complet, astfel încât întregul stack rulează local, administrat dintr-un singur loc. Are nevoie de Docker. Dashboardul acoperă tabele, SQL, row-level security cu un sandbox pentru testarea politicilor, utilizatori de autentificare, stocare, funcții, loguri, migrări, backupuri, consilieri și documentație de API.

Administrează stackuri locale, nu un serviciu găzduit. Dacă vrei să rulezi un stack pentru alți oameni, aceasta este treaba de self-hosting descrisă mai sus, cu backupurile, TLS-ul și monitorizarea pe care le implică. Scopul produsului va fi confirmat la lansare.

Ce ar trebui să aleagă o echipă mică?

Începe pe planul Free găzduit cât validezi o idee sau construiești un instrument intern și tratează pauzarea ca parte din ofertă. Treci la stackul din CLI când ai nevoie de dezvoltare repetabilă sau de mai multe proiecte alături. Fă self-hosting când locația datelor, conformitatea sau costul pe termen lung justifică munca operațională și bugetează o persoană care să răspundă de backupuri și actualizări. Uită-te la alternative când arhitectura ta înclină deja spre GraphQL sau în altă direcție decât Postgres. Dacă alegi pentru un proiect de client și vrei o a doua părere, serviciile noastre de software la comandă pornesc de la aceeași întrebare, iar poți programa un apel introductiv gratuit.

Întrebări frecvente

Pot rula Supabase gratuit?
Da, în trei feluri. Planul Free găzduit dă două proiecte active, fiecare cu 500 MB de spațiu pentru baza de date, plus 1 GB de stocare și 5 GB de egress; stackul open source poate fi găzduit pe hardware-ul tău; iar CLI-ul rulează tot stackul local în Docker, fără costuri. Planul găzduit pune în pauză proiectele inactive, iar self-hostingul te face responsabil de backupuri și actualizări.
Este Supabase open source?
Depozitul principal supabase/supabase are licența Apache-2.0, iar self-hostingul este documentat oficial cu Docker Compose. Nu toate componentele platformei găzduite sunt disponibile în self-hosting: branching, backupurile gestionate și point-in-time recovery, metricile avansate, analytics și vector buckets, ETL și Management API sunt doar în varianta gestionată.
Care este diferența dintre Supabase și PocketBase?
Supabase este Postgres cu o serie de servicii în jur, inclusiv autentificare, stocare, realtime, edge functions și un dashboard. PocketBase este un singur binar Go cu licență MIT, cu o bază SQLite încorporată, dashboard de administrare, autentificare, stocare de fișiere și realtime, extins prin hook-uri Go și JavaScript. PocketBase este mai simplu de rulat; Supabase îți dă un server Postgres complet și opțiunea unui nivel gratuit gestionat.
Cum fac self-hosting la Supabase?
Urmează ghidul oficial de self-hosting și folosește Docker Compose, pe care Supabase îl numește cea mai rapidă și recomandata metodă. Rulezi Postgres, gateway-ul Envoy, Auth, PostgREST, Realtime, Storage, Edge Runtime, postgres-meta și Studio, generezi singur cheile și secretele și pui TLS în față printr-un reverse proxy. Supabase recomandă cel puțin 4 GB de RAM, 2 nuclee și 40 GB de SSD, iar suportul vine din comunitate.
Ce include planul Supabase gratuit?
Două proiecte active, fiecare cu 500 MB de spațiu pentru baza de date, 1 GB de stocare și 5 GB de egress, plus 50.000 de utilizatori activi lunar, cereri API nelimitate, 500.000 de invocări de Edge Functions și 2 milioane de mesaje Realtime. Proiectele cu activitate redusă timp de șapte zile sunt pausate, iar un proiect pausat poate fi reluat din dashboard. Corpul paginii Supabase despre pauzare dă o fereastră de restaurare de un an.
De ce a fost pausat proiectul meu Supabase și cum îl restaurez?
Supabase pune în pauză proiectele Free cu activitate redusă pe parcursul a șapte zile. Proprietarul primește un e-mail de avertizare cu circa o săptămână înainte și unul de confirmare când se întâmplă. Ca să restaurezi, deschide dashboardul, alege organizația și proiectul pausat, apoi apasă Resume project; datele și configurația revin cum erau.
Actualizat
Distribuie

Articole similare

  • 9 min de citit

    Extensii PostgreSQL care merită știute

    Extensiile fac PostgreSQL să trateze textul fără majuscule, să caute aproximativ, să genereze UUID-uri și să răspundă la întrebări spațiale. Pentru ce e bună fiecare, când e unealta greșită și de ce hostul decide ce poți instala.

    • Baze de date
    • Unelte pentru dezvoltatori
  • 9 min de citit

    Backup-urile pe care le-ai restaurat cu adevărat

    Un backup este o afirmație, iar un restore este dovada. Iată o rutină pe care o poate ține o echipă mică: unde stau copiile, cât de des rulează, cum exersezi un restore pe o bază de probă, ce verifici și cum notezi.

    • Baze de date
    • Unelte pentru dezvoltatori
  • 9 min de citit

    Bază de date self-hosted: personal vs producție

    Să rulezi propriul PostgreSQL e rezonabil pentru un proiect personal și un angajament serios pentru o afacere. Softul e același, responsabilitățile nu.

    • Baze de date
    • Unelte pentru dezvoltatori