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.