Por qué autoalojar Khoj en un VPS
Khoj destaca por su capacidad de sincronizarse con sus fuentes (archivos Markdown, PDF, notas de Obsidian, Notion, GitHub) y de ofrecer búsqueda semántica más respuestas conversacionales. También propone agentes y búsqueda web. En un equipo de escritorio, el índice permanece local a la máquina; en un VPS, el servidor Khoj se convierte en un punto de acceso central sincronizable desde varios dispositivos y complementos (Obsidian, Emacs, navegador). Usted conserva el control del índice vectorial, elige entre un LLM local mediante Ollama o una API, y sus notas personales o profesionales nunca se confían a la nube pública del editor.
Beneficios concretos del autoalojamiento
- Índice semántico centralizado, sincronizable desde varios equipos y dispositivos
- Integraciones nativas con Obsidian, Emacs y extensión de navegador apuntando a su servidor
- Elección del backend LLM: Ollama local para lo privado, o API externa si hace falta
- Sincronización de notas Markdown, PDF, org-mode y repositorios sin exponerlos a la nube
- Búsqueda semántica y chat conversacional sobre su propio corpus personal
- Acceso remoto seguro a su base de conocimiento desde cualquier lugar
Requisitos de hardware y software
Khoj se apoya en un backend Django, una base PostgreSQL con pgvector y un modelo de embeddings para la indexación. Apoyándose en una API externa para el chat, 2 vCPU y 4 GB de RAM bastan de sobra, con 10 a 15 GB de disco según el tamaño de su corpus indexado. Si añade un LLM local mediante Ollama en el mismo VPS, suba a 8 GB de RAM como mínimo. En cuanto al software: Docker y Docker Compose, un dominio que apunte al VPS y, opcionalmente, una clave API de LLM si no quiere un modelo local. El modelo de embeddings se descarga en el primer arranque.
Despliegue de Khoj con Docker Compose
Obtener el compose oficial
En el VPS, descargue el
docker-compose.ymlque suministra Khoj. Declara los serviciosserver,database(Postgres + pgvector) y el volumen de configuración. Cree una carpeta/opt/khojpara alojar el conjunto.Configurar las variables de entorno
Introduzca
KHOJ_DJANGO_SECRET_KEY, las credenciales de Postgres y, si utiliza una API, la clave del proveedor. DefinaKHOJ_ADMIN_EMAILyKHOJ_ADMIN_PASSWORDpara crear la cuenta de administrador en el arranque.Arrancar los servicios
Ejecute
docker compose up -d. En el primer arranque, Khoj descarga el modelo de embeddings, lo que puede tardar unos minutos. Sigadocker compose logs -f serverhasta ver que el servidor escucha en el puerto 42110.Indexar sus fuentes
Conéctese a la interfaz de administración, configure las rutas de contenido o instale el complemento de Obsidian/navegador apuntando su URL de servidor a su VPS. Lance una primera sincronización y compruebe que el índice se va poblando.
Reverse proxy y SSL
Coloque Caddy delante del puerto 42110:
khoj.sudominio.com { reverse_proxy localhost:42110 }. El certificado Let's Encrypt se genera automáticamente y todo el tráfico pasa por HTTPS.Asegurar y conectar los clientes
Cierre el puerto 42110 en el firewall y luego configure las extensiones de Obsidian, Emacs y navegador con la URL
https://khoj.sudominio.comy un token de API generado en los ajustes para un acceso autenticado.
Khoj sabe alternar entre varios proveedores de chat desde su interfaz de administración. Configure un Ollama local como backend por defecto para la confidencialidad y declare una API externa como respaldo únicamente para las consultas complejas: obtiene lo mejor de ambos mundos, privacidad en el día a día y calidad puntual, sin pagar por cada interacción.