Skip to content

Architettura

Un'istanza self-hosted è composta da un piccolo numero di componenti che si integrano tra loro.

I componenti

  • Web app: un'applicazione Next.js che fornisce la console, l'API e l'editor all'indirizzo /editor. Questo è il servizio che esegui.
  • Database: Postgres con l'estensione pgvector. Memorizza i tuoi dati e supporta anche la ricerca vettoriale AI, quindi non hai bisogno di un database vettoriale separato.
  • Object storage: un archivio compatibile con S3 per i media. La configurazione predefinita per self-host utilizza MinIO, e puoi indirizzarlo verso il tuo bucket S3 personale.
  • Authentication: un livello di autenticazione basato su sessione con email e password, e accesso opzionale tramite Google e GitHub.

Come fluisce una richiesta

Il browser carica l'app web. L'app legge e scrive i tuoi dati in Postgres, memorizza e fornisce i media dall'archivio S3, e chiama il tuo provider AI dal server quando usi l'AI. L'editor viene eseguito nel browser e salva attraverso la stessa app.

Codice base unico

Lo stesso codice base alimenta sia il servizio gestito che il self-hosting. La configurazione determina la differenza: in self-host, la fatturazione è disattivata, lo storage è MinIO e l'istanza è single-tenant per impostazione predefinita. Vedi Configurazione.