Cosa c'è installato sul tuo server Supabase?
- La configurazione Docker ufficiale di Supabase, fissata al tag di release v1.26.08
- PostgreSQL 17 e la schermata admin Studio
- I servizi Auth, PostgREST, Realtime, Storage ed Edge Runtime
- Connection pooler Supavisor, con le porte 5432 e 6543 aperte
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY e POSTGRES_PASSWORD, generate dagli script ufficiali
- HTTPS tramite Caddy su un indirizzo sslip.io basato sul tuo IP, quindi il dominio è facoltativo
- Impostazioni in /opt/seturack/supabase/.env
- Firewall con aperte solo le porte 22, 80, 443, 5432 e 6543
Che dimensione ti serve per Supabase?
La documentazione Docker di Supabase fissa il minimo a 4 GB di RAM, 2 core e 40 GB di disco, e raccomanda 8 GB o più di RAM, 4 o più core e 80 GB o più di disco. Usa 4 GB come punto di partenza per sviluppo e piccoli progetti, e considera 8 GB per un progetto con utenti reali. Togliere dal file Compose i servizi che non usi, come Realtime o Storage, abbassa i requisiti. Se non basta, aumenta RAM, CPU e disco separatamente dal pannello: i tuoi dati e il tuo indirizzo IP restano gli stessi.
| Uso | Dimensione | Prezzo | Scegli |
|---|---|---|---|
| Base | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mese | |
| Media | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mese | |
| Potente | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mese |
Per chi è?
- Chi sposta un progetto Supabase sul proprio server
- Chi ha creato un'app con strumenti di IA e vuole database e login sul proprio server
- Sviluppatori che configurano un proprio ambiente di sviluppo e test
Cosa succede dopo l'ordine?
- Imposta la dimensione e completa il pagamento.
- Il server si avvia e Supabase si installa da solo. Nei nostri test su server reali ci sono voluti circa 8 minuti. Nella scheda Panoramica aspetta che la riga App dica che Supabase è pronto.
- Apri il link nella riga Indirizzo del pannello. Il browser chiede Login e Password, poi si apre Studio.
- Connettiti via SSH e leggi le chiavi: grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Dai alla tua app l'Indirizzo del pannello e la publishable key, e tieni la secret key solo lato server.
- Imposta SITE_URL e ADDITIONAL_REDIRECT_URLS in .env sull'indirizzo della tua app, poi esegui docker compose up -d.
Con ogni server
- Backup giornalieri inclusi nel prezzo
- Traffico illimitato
- Accesso root completo
- Aumenta o riduci RAM e CPU in seguito, e ingrandisci il disco
- Sede: Istanbul · IST-1.
Da sapere
- Supabase self-hosted gestisce un solo progetto. La documentazione ufficiale dice che branching, PITR, Management API e analytics bucket non sono disponibili in questa configurazione.
- Dopo la configurazione, il SITE_URL di Auth è l'indirizzo di Studio protetto da password, quindi i link nelle email puntano lì. Metti l'indirizzo della tua app in SITE_URL e ADDITIONAL_REDIRECT_URLS.
- Le porte 5432 e 6543 sono aperte a internet, e ufw non può chiuderle perché le pubblica Docker. Per limitarle, aggiungi 127.0.0.1: all'inizio delle righe delle porte di Supavisor in docker-compose.yml e usa un tunnel SSH.
- Gli aggiornamenti sono una tua responsabilità. Supabase pubblica la sua configurazione Compose circa una volta al mese, e lo script update.sh nella cartella unisce le modifiche alla tua installazione.
Domande e risposte su Supabase
Di quanta RAM ha bisogno Supabase self-hosted?
La documentazione di Supabase chiede almeno 4 GB di RAM, 2 core e 40 GB di disco per un'installazione self-hosted, e raccomanda 8 GB o più di RAM. Togliere dal file Compose i servizi che non usi abbassa i requisiti.
Dove trovo le chiavi API di Supabase?
Connettiti via SSH e guarda in /opt/seturack/supabase/.env. SUPABASE_PUBLISHABLE_KEY serve al codice client. SUPABASE_SECRET_KEY ha tutti i diritti e va usata solo lato server. Le più vecchie ANON_KEY e SERVICE_ROLE_KEY continuano a funzionare.
Come collego la mia app a Supabase self-hosted?
Con supabase-js, passa a createClient l'Indirizzo del pannello e il valore di SUPABASE_PUBLISHABLE_KEY. REST, Auth, Storage e Realtime stanno tutti sotto quell'indirizzo. Login e password che il browser chiede valgono solo per Studio, e le richieste API sono verificate tramite chiave.
Come mi collego dall'esterno al database di Supabase?
Le connessioni passano da Supavisor: postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres. La porta 5432 è la modalità session e la 6543 la modalità transaction. your-tenant-id è il valore POOLER_TENANT_ID in .env. Postgres stesso non è pubblicato verso l'esterno.
Perché le email di registrazione di Supabase non arrivano?
All'installazione non è configurato nessun vero server SMTP, quindi le registrazioni con conferma via email non possono completarsi. Compila i valori che iniziano con SMTP_ in /opt/seturack/supabase/.env per il tuo fornitore di email, poi esegui docker compose up -d in quella cartella. Per consentire le registrazioni senza conferma, guarda l'impostazione ENABLE_EMAIL_AUTOCONFIRM.
Posso far girare più progetti Supabase?
Un'installazione gestisce un solo progetto, e Studio non supporta più organizzazioni o progetti. Usa un server separato per ogni progetto.
Si fa il backup dei miei dati Supabase?
Il backup del server viene fatto ogni notte, si conservano gli ultimi 7 giorni ed è incluso nel prezzo. I backup gestiti e il PITR di Supabase non fanno parte di un'installazione self-hosted. Per tornare a un momento preciso, conserva anche dei tuoi file pg_dump.