Por qué autoalojar Quivr en un VPS
Quivr organiza su conocimiento en bloques de saber (los brains) y utiliza un pipeline RAG moderno apoyado en Supabase (PostgreSQL + pgvector) para el almacenamiento vectorial, un backend en Python (FastAPI) y un frontend Next.js. La versión cloud impone sus cuotas y almacena sus datos en los servidores del editor; al alojarlo en un VPS, usted conserva el control de la base Supabase, de los archivos subidos y de las claves LLM. Resulta especialmente pertinente para una agencia que quiere una base de conocimiento con IA compartida entre consultores, con autenticación, sin confiar documentos de clientes a un servicio de terceros y sin techo de uso artificial.
Beneficios concretos del autoalojamiento
- Almacenamiento de todo su conocimiento en su propia instancia de Supabase
- Organización en varios brains temáticos con gestión detallada de los accesos
- Ingesta variada: PDF, DOCX, audio transcrito, páginas web, archivos de texto
- API REST utilizable para integrar Quivr en sus aplicaciones propias
- Elección libre del LLM (OpenAI, Anthropic, Ollama local) sin facturación impuesta
- Ninguna cuota de preguntas ni de almacenamiento dictada por un proveedor SaaS
Requisitos de hardware y software
Quivr es un stack multiservicio (frontend, backend, worker, Supabase completo, Redis). Es la herramienta más exigente de esta serie en cuanto a componentes. Prevea 4 vCPU y 8 GB de RAM como mínimo, siendo 16 GB cómodo si le añade un LLM local, más 20 a 30 GB de disco para la base Postgres, los embeddings y los archivos. En cuanto al software: Docker y Docker Compose imprescindiblemente (el stack depende de ellos), un dominio con subdominios para el frontend y la API, y al menos una clave API de LLM así como una clave de embeddings. Un buen ancho de banda facilita la ingesta de archivos grandes.
Despliegue de Quivr con Docker Compose
Clonar y configurar el entorno
En el VPS, ejecute
git clone https://github.com/QuivrHQ/quivr && cd quivr. Copie los archivos de ejemplo:cp .env.example .enve introduzca las claves (OPENAI_API_KEY, claves de Supabase,JWT_SECRET_KEY).Inicializar Supabase
Quivr incorpora su propio stack Supabase. Ejecute la migración de base de datos suministrada para crear las tablas, las extensiones pgvector y las políticas RLS necesarias para almacenar los brains y los embeddings.
Arrancar el stack completo
Inicie todos los servicios con
docker compose pull && docker compose up -d. El stack incluye el backend FastAPI, el worker de ingesta, Redis y el frontend Next.js. Compruebe el estado condocker compose ps.Verificar el worker de ingesta
El procesamiento de los archivos pasa por un worker asíncrono. Vigile sus registros (
docker compose logs -f worker) durante una primera subida para confirmar que el troceado y la vectorización terminan sin error.Configurar el reverse proxy y el SSL
Asigne
app.sudominio.comal frontend yapi.sudominio.comal backend mediante Caddy o Nginx, cada uno con su certificado Let's Encrypt. Asegúrese de que el frontend apunta correctamente a la URL pública de la API en su.env.Crear la primera cuenta y probar
Abra el frontend, cree una cuenta mediante la autenticación de Supabase, cree un brain, suba un documento y haga una pregunta para validar la cadena RAG de extremo a extremo.
Vigile la memoria del worker de ingesta: los PDF grandes y los archivos de audio a transcribir pueden saturar la RAM y hacer que el OOM killer mate el contenedor. Limite el tamaño de las subidas en el reverse proxy (client_max_body_size en Nginx) y, si ingiere mucho, traslade los embeddings a un servicio dedicado en lugar de procesarlo todo en el worker por defecto.