Vai al contenuto principale

Configura Supabase su un Server Linux - Avvia la tua Piattaforma Backend Open Source

I prodotti ideali per questa guida

Inizia subito — ordina il prodotto adatto e segui questa guida passo dopo passo.

Introduzione

Supabase è una piattaforma di sviluppo Postgres open source che offre un database Postgres completo più autenticazione, API istantanee, realtime e storage, rappresentando un’alternativa open source a Firebase.

img

Stai pensando di ospitare questo servizio in autonomia? Ti guideremo passo passo su come installarlo e configurarlo, con tutto quello che devi sapere.

Installa Supabase con il One Click Apps Installer

Puoi installare Supabase direttamente tramite il nostro One Click Apps Installer nell’interfaccia web del VPS. Dopo aver completato la configurazione iniziale delle app, apri il catalogo app, cerca Supabase e avvia il deployment scegliendo progetto, ambiente e dominio preferiti. Questo ti offre un modo rapido e user-friendly per distribuire e gestire Supabase senza dover usare la linea di comando manualmente, beneficiando comunque della gestione web integrata, supporto per domini personalizzati e provisioning SSL dove disponibile.

Prerequisiti

Prima di installare Supabase, assicurati che il tuo ambiente di hosting soddisfi i seguenti requisiti per garantire un’installazione fluida e prestazioni ottimali.

HardwareMinimoConsigliato da ZAP-Hosting
CPU1 vCPU Core4 vCPU Core
RAM4 GB8 GB
Spazio disco25 GB25 GB

Il software richiede che tutte le dipendenze necessarie siano installate e che giri su un sistema operativo supportato. Assicurati che il tuo server rispetti questi requisiti prima di procedere con l’installazione:

Dipendenze: Git, Docker (Engine e Compose)

Sistema Operativo: Ultima versione di Ubuntu/Debian con supporto Docker 2

Verifica che tutte le dipendenze siano installate e che la versione del sistema operativo sia corretta per evitare problemi di compatibilità durante l’installazione di Supabase.

Preparazione

Prima di configurare Supabase, devi preparare il sistema. Questo include aggiornare il sistema operativo all’ultima versione e installare tutte le dipendenze richieste. Questi passaggi assicurano un ambiente stabile e aiutano a prevenire problemi durante o dopo l’installazione.

Aggiorna il Sistema

Per assicurarti che il sistema abbia le ultime patch di sicurezza e aggiornamenti software, esegui sempre prima un aggiornamento completo. Usa questo comando:

sudo apt update && sudo apt upgrade -y

Così il sistema sarà aggiornato con le ultime versioni prima di procedere.

Installa le dipendenze

Una volta completato l’aggiornamento, puoi procedere con l’installazione delle dipendenze.

Git

I dati di Supabase verranno scaricati tramite GitHub, quindi Git deve essere installato. Esegui:

sudo apt install git-all

Docker

Supabase verrà eseguito in un container Docker, quindi Docker deve essere installato. Esegui:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Una guida completa all’installazione e all’uso di Docker è disponibile nella nostra guida Docker.

Installazione

Ora che hai tutto pronto, puoi procedere con l’installazione di Supabase.

Clona il repository Supabase, crea una cartella progetto dedicata e copia i file Docker e l’esempio di file ambiente al suo interno.

git clone --depth 1 https://github.com/supabase/supabase
mkdir supabase-project

cp -rf supabase/docker/* supabase-project
cp supabase/docker/.env.example supabase-project/.env

Entra nella cartella progetto, scarica le immagini container più recenti e avvia lo stack in modalità detached.

cd supabase-project
docker compose pull
docker compose up -d

img

Ora puoi accedere a Supabase Studio tramite http://<tuo-ip>:8000. Ti verranno chiesti username e password. Di default sono:

  • Username: supabase
  • Password: this_password_is_insecure_and_should_be_updated

img

Credenziali di Default

La tua app ora gira con credenziali di default. Proteggi i tuoi servizi il prima possibile seguendo le istruzioni qui sotto.

Configurazione

Non usare mai valori di default o di esempio in produzione. Sostituisci tutti i placeholder con segreti forti e unici, rivedi la configurazione in base alle tue esigenze di sicurezza e riavvia i servizi per applicare le modifiche.

Genera chiavi API sicure prima di esporre qualsiasi servizio. Parti scegliendo un segreto JWT da 40 caratteri. Puoi usare quello fornito o crearne uno tuo. Salvalo in un posto sicuro, non condividerlo e non inserirlo nel version control. Usa questo segreto per generare un JWT e poi ricava le chiavi anonime e di servizio usando il form indicato nella documentazione Supabase: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys

Esegui il form due volte per ottenere entrambe le chiavi. Aggiorna il file ./docker/.env con:

  • ANON_KEY: chiave anonima
  • SERVICE_ROLE_KEY: chiave di servizio

Aggiorna i segreti richiesti in ./docker/.env. Questi valori sono obbligatori per un deployment funzionante:

  • POSTGRES_PASSWORD: password per il ruolo postgres
  • JWT_SECRET: usato da PostgREST e GoTrue
  • SITE_URL: URL base del tuo sito
  • SMTP_*: credenziali del server mail
  • POOLER_TENANT_ID: tenant id usato dal pooler Supavisor

Proteggi il Dashboard con nuove credenziali prima di usarlo in produzione. Modifica ./docker/.env:

  • DASHBOARD_USERNAME: utente dashboard
  • DASHBOARD_PASSWORD: password dashboard

Puoi definire più utenti dashboard in ./docker/volumes/api/kong.yml:

basicauth_credentials:
- consumer: DASHBOARD
username: user_one
password: password_one
- consumer: DASHBOARD
username: user_two
password: password_two

Per abilitare tutte le funzionalità del dashboard da remoto (fuori da localhost), imposta SUPABASE_PUBLIC_URL in ./docker/.env con l’URL o IP che userai per accedere al dashboard.

Applica le modifiche riavviando lo stack:

docker compose down
docker compose up -d

Conclusione e Risorse Utili

Congratulazioni! Hai installato e configurato Supabase con successo sul tuo VPS/Server Dedicato. Ti consigliamo di dare un’occhiata anche a queste risorse, che possono aiutarti ulteriormente nella configurazione del server:

Hai domande specifiche non trattate qui? Per qualsiasi dubbio o supporto, il nostro team è sempre disponibile ogni giorno per aiutarti! 🙂