Vai al contenuto principale

VPS: Configura Supabase su Linux

Questa guida è stata creata con i seguenti prodotti:

(I dettagli possono variare con prodotti di fornitori diversi ma i concetti principali rimangono gli stessi)

Introduzione

Supabase è una piattaforma di sviluppo open-source basata su Postgres 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.

Prerequisiti

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

HardwareMinimoConsiglio 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 compatibile con Docker 2

Verifica che tutte le dipendenze siano installate e che il sistema operativo sia aggiornato 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 gli ultimi aggiornamenti software e di sicurezza, esegui sempre prima un aggiornamento completo. Usa questo comando:

sudo apt update && sudo apt upgrade -y

Così il sistema avrà tutte le patch di sicurezza e le versioni software più recenti 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 soddisfatto tutti i requisiti e preparato il sistema, puoi procedere con l’installazione di Supabase.

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

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 ultime immagini dei container 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 sta girando con credenziali di default. Proteggi subito i tuoi servizi 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 deploy 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 andare 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 (non solo 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

Complimenti! Hai installato e configurato Supabase con successo sul tuo VPS. Ti consigliamo di dare un’occhiata anche a queste risorse per ulteriore supporto e approfondimenti durante la configurazione del server:

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