Guía de despliegue

Cómo alojar LibreChat en un VPS

Desplegar en un VPS Cloud →

Tutorial

Cómo alojar LibreChat en un VPS

Inteligencia Artificial11 min de lectura18 pasos

LibreChat reproduce la experiencia de ChatGPT en código abierto y va mucho más lejos: una interfaz unificada para OpenAI, Anthropic Claude, Google Gemini, modelos locales a través de Ollama y muchos otros proveedores, todo tras la misma interfaz cuidada. Autoalojado en su propio VPS, ofrece a su equipo un asistente conversacional privado y multiusuario con historial, presets, RAG sobre sus documentos y gestión fina de accesos, sin que sus conversaciones transiten por los servidores de los proveedores. Sin más $20/mes por empleado para ChatGPT Plus: una sola clave API compartida, todos los modelos disponibles y sus datos permanecen en su MongoDB. Esta guía cubre la instalación completa con Docker Compose, la configuración multi-proveedor en `librechat.yaml`, la adición de Ollama para modelos sin coste de API, la gestión de usuarios y autenticación, y la configuración del reverse proxy nginx con HTTPS.

Contenido· Por qué alojar LibreChat en vez de usar ChatGPT Plus1/15
  1. 01Por qué alojar LibreChat en vez de usar ChatGPT Plus
  2. 02ChatGPT Plus vs LibreChat autoalojado
  3. 03Requisitos del servidor
  4. 04Instalar LibreChat con Docker Compose
  5. 05Configurar varios proveedores LLM en librechat.yaml
  6. 06Añadir OpenAI, Anthropic y un endpoint personalizado en librechat.yaml
  7. 07Añadir Ollama para modelos locales (sin coste de API)
  8. 08Desplegar Ollama como servicio Docker y conectarlo a LibreChat
  9. 09Autenticación y gestión de usuarios
  10. 10Opciones de autenticación disponibles
  11. 11RAG con archivos: consultar sus documentos PDF
  12. 12Configurar nginx como reverse proxy con HTTPS
  13. 13Gestionar los costes de LLM con LibreChat
  14. 14LibreChat o AnythingLLM: ¿cuál elegir?
  15. 15Despliegue sin nube: 100 % local

Por qué alojar LibreChat en vez de usar ChatGPT Plus

ChatGPT Plus cuesta $20/mes por persona, no permite compartir una clave API, envía cada mensaje a los servidores de OpenAI y le ata a una sola interfaz. LibreChat autoalojado invierte esa relación: usted paga solo los tokens que consume de los proveedores que elige, sus conversaciones permanecen en su MongoDB y puede servir a diez o cien colaboradores desde un único VPS por menos de $15/mes. Las claves API se centralizan en el lado del servidor — sus usuarios nunca las ven. Usted decide qué modelos aparecen en la interfaz, puede desactivar ciertos endpoints para ciertos roles y conserva un registro completo de los intercambios para auditoría o cumplimiento normativo.

ChatGPT Plus vs LibreChat autoalojado

Desplace la tabla

CriterioChatGPT PlusLibreChat autoalojado
Precio por usuario$20/mesCompartido — coste VPS dividido entre N
Modelos disponiblesGPT-4o, o1 (solo OpenAI)OpenAI, Anthropic, Google, Ollama, Groq…
Datos de las conversacionesAlmacenados en OpenAIAlmacenados en su MongoDB
Claves APIGestionadas por OpenAILas suyas, nunca expuestas a los usuarios
Historial de conversacionesEn OpenAI, exportableEn su base de datos, con copia de seguridad libre
RAG sobre sus archivosLimitado (My Files)Configurable con su propio vectorstore
Personalización de la interfazNingunaCompleta (presets, modelos visibles, roles)
Cumplimiento / auditoríaDepende de los términos de OpenAIBajo su control total

Requisitos del servidor

LibreChat se apoya en varios servicios simultáneos: la aplicación principal (Node.js), MongoDB para conversaciones y usuarios, Meilisearch para la búsqueda en el historial y opcionalmente la API RAG para consultar documentos. Para un equipo de 5 a 20 personas que usan API en la nube (OpenAI, Anthropic), un VPS 2 vCPU 4 GB de RAM es suficiente — unos $10 a $15/mes en ServOrbit. Si ejecuta Ollama en el mismo servidor para modelos locales, pase a 4 vCPU 8 GB RAM mínimo. Prevea 20 GB de disco para MongoDB, los índices Meilisearch y las imágenes Docker.

Instalar LibreChat con Docker Compose

  1. Clonar el repositorio oficial

    Conéctese por SSH a su VPS y clone el repositorio: git clone https://github.com/danny-avila/LibreChat && cd LibreChat. Copie el archivo de entorno de ejemplo: cp .env.example .env.

  2. Configurar el archivo .env

    Abra .env y rellene las variables esenciales. Genere primero dos secretos aleatorios: openssl rand -hex 32 dos veces para JWT_SECRET y CREDS_KEY. Añada sus claves API: OPENAI_API_KEY=sk-... y/o ANTHROPIC_API_KEY=sk-ant-.... Para cerrar el registro público, establezca ALLOW_REGISTRATION=false. Para restringir a dominios de correo específicos, añada ALLOWED_DOMAINS=su-empresa.com.

  3. Lanzar la stack

    Arranque todos los servicios en modo desacoplado: docker compose up -d. Compruebe que todo está sano: docker compose ps — todos los servicios deben mostrar running (healthy).

  4. Crear la primera cuenta de administrador

    Abra http://localhost:3080 en un navegador o mediante un túnel SSH. Haga clic en «Crear una cuenta» y regístrese con su correo electrónico profesional. Una vez conectado, vaya al panel de administración para promover su cuenta a admin.

  5. Verificar la conectividad con los LLM

    En la interfaz, seleccione el modelo gpt-4o (o claude-3-5-sonnet) y envíe un mensaje de prueba. Si la respuesta llega correctamente, su clave API está bien reconocida. Ante un error 401, compruebe el valor en .env y reinicie: docker compose restart app.

Configurar varios proveedores LLM en librechat.yaml

El archivo librechat.yaml es el núcleo de la configuración multi-proveedor. Permite activar o desactivar endpoints, nombrar los modelos mostrados a los usuarios, definir parámetros por defecto (temperatura, max tokens) y controlar el acceso por rol. En la raíz del proyecto, copie la plantilla: cp librechat.example.yaml librechat.yaml.

Añadir OpenAI, Anthropic y un endpoint personalizado en librechat.yaml

  1. Activar el endpoint de OpenAI

    Bajo la clave endpoints.openAI, establezca enabled: true y liste los modelos: models: { default: [gpt-4o, gpt-4o-mini, o1-mini], fetch: false }.

  2. Activar el endpoint de Anthropic

    Bajo endpoints.anthropic, establezca enabled: true y liste: models: { default: [claude-3-5-sonnet-20241022, claude-3-haiku-20240307] }.

  3. Añadir Google Gemini

    Bajo endpoints.google, establezca enabled: true y rellene GOOGLE_KEY en .env con su clave de API de Google AI Studio. Liste los modelos: gemini-1.5-pro, gemini-1.5-flash.

  4. Declarar Groq como endpoint personalizado

    Los proveedores compatibles con OpenAI (Groq, Together AI…) se declaran bajo endpoints.custom. Ejemplo para Groq: name: Groq, apiKey: ${GROQ_API_KEY}, baseURL: https://api.groq.com/openai/v1, models: { default: [llama-3.1-70b-versatile] }.

  5. Aplicar la configuración

    Tras cada modificación de librechat.yaml, reinicie solo el servicio app: docker compose restart app. Compruebe en la interfaz que los nuevos endpoints aparecen en el selector de modelos.

Añadir Ollama para modelos locales (sin coste de API)

Ollama permite ejecutar modelos de código abierto (Llama 3, Mistral, Gemma, Phi-3…) directamente en su VPS, sin clave API y sin que los datos salgan del servidor. En un VPS 4 vCPU 8 GB RAM, los modelos de 3B a 7B de parámetros responden en pocos segundos.

Desplegar Ollama como servicio Docker y conectarlo a LibreChat

  1. Añadir el servicio Ollama al docker-compose.yml

    Abra su docker-compose.override.yml (créelo si no existe) y añada: services: ollama: image: ollama/ollama:latest, volumes: [ollama:/root/.ollama], ports: ["11434:11434"]. Reinicie la stack: docker compose up -d ollama.

  2. Descargar un modelo

    Con el contenedor Ollama en marcha, descargue un modelo: docker compose exec ollama ollama pull llama3.2:3b para Llama 3.2 3B (~2 GB), o ollama pull mistral:7b para Mistral 7B (~4 GB).

  3. Configurar el endpoint de Ollama en librechat.yaml

    En librechat.yaml, bajo endpoints.custom, añada: name: Ollama, apiKey: ollama, baseURL: http://ollama:11434/v1, models: { default: [llama3.2:3b, mistral:7b] }.

  4. Probar la inferencia local

    En la interfaz de LibreChat, seleccione el endpoint «Ollama» y el modelo llama3.2:3b. Envíe un mensaje. La respuesta se genera íntegramente en su VPS, sin ninguna llamada de red externa.

Autenticación y gestión de usuarios

LibreChat ofrece varios niveles de autenticación, desde el registro local simple hasta la integración OAuth2 con su proveedor de identidad. Para un equipo, la combinación ideal suele ser: registro cerrado (ALLOW_REGISTRATION=false), cuentas creadas por el administrador y opcionalmente un SSO mediante GitHub, Google o un proveedor OIDC propio (Authentik, Keycloak).

Opciones de autenticación disponibles

  • Local (correo electrónico / contraseña): por defecto, funciona sin configuración adicional.
  • OAuth2 GitHub: GITHUB_CLIENT_ID + GITHUB_CLIENT_SECRET en .env.
  • OAuth2 Google: GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET, mismo principio.
  • OIDC genérico: compatible con Authentik, Keycloak, Auth0 — definir OPENID_CLIENT_ID y demás en .env.
  • Restricción por dominio de correo: ALLOWED_DOMAINS=su-empresa.com en .env.
  • Desactivación del registro público: ALLOW_REGISTRATION=false — solo el admin puede crear cuentas.
  • Roles: cada cuenta es user o admin; los admins acceden al panel de gestión de usuarios.

RAG con archivos: consultar sus documentos PDF

LibreChat incluye un servicio RAG opcional que permite a los usuarios subir PDFs, archivos de texto o páginas web y consultar su contenido en las conversaciones. Para activarlo, añada a .env: RAG_API_URL=http://rag_api:8000, luego ejecute: docker compose --profile rag up -d. Un VPS de 4 GB de RAM es suficiente para colecciones modestas (< 500 documentos).

Configurar nginx como reverse proxy con HTTPS

  1. Crear el vhost de nginx

    En el servidor, cree /etc/nginx/sites-available/librechat con: server { listen 80; server_name chat.su-dominio.com; location / { proxy_pass http://localhost:3080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 300s; } }. Active el sitio: ln -s /etc/nginx/sites-available/librechat /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx.

  2. Obtener un certificado Let's Encrypt con Certbot

    Instale Certbot si es necesario y obtenga el certificado: certbot --nginx -d chat.su-dominio.com. Certbot modifica automáticamente el vhost para redirigir HTTP → HTTPS y configura la renovación automática.

  3. Verificar WebSocket y streaming

    Abra https://chat.su-dominio.com, inicie sesión y envíe un mensaje. Compruebe en las DevTools (pestaña Red) que la conexión pasa por WebSocket. Si las respuestas aparecen de golpe en lugar de hacer streaming, es probable que Cloudflare las esté tamponando: active «Disable buffering» en su configuración.

  4. Activar las actualizaciones automáticas (opcional)

    Para mantener LibreChat actualizado sin intervención manual, cree un cron semanal: docker compose pull && docker compose up -d --remove-orphans.

Gestionar los costes de LLM con LibreChat

LibreChat no factura los tokens por usted — usted paga directamente a los proveedores con sus propias claves. Algunas buenas prácticas: defina límites de tokens por petición (maxContextTokens) para modelos costosos como GPT-4o o Claude 3.5 Sonnet; ofrezca gpt-4o-mini o claude-3-haiku como modelos por defecto; active Ollama para peticiones de bajo valor (borradores, resúmenes) — coste real: 0 €. Para un equipo de 10 personas, un presupuesto mixto (GPT-4o para casos serios + Ollama para el día a día) suele costar entre $20 y $80/mes en tokens, frente a los $200 de 10 suscripciones a ChatGPT Plus.

LibreChat o AnythingLLM: ¿cuál elegir?

Desplace la tabla

CriterioLibreChatAnythingLLM
Vocación principalInterfaz de chat multiproveedorMotor RAG sobre documentos
Multimodelo en una sola interfazExcelente (OpenAI, Anthropic, Google, local)Bueno, pero centrado en un proveedor por workspace
RAG sobre documentosMódulo adicional configurableNúcleo del producto, listo para usar
Gestión multiusuarioCuentas y roles nativosModo multiusuario y espacios aislados
Arquitectura de despliegueStack de varios contenedores (Mongo, Meili, RAG)Contenedor único + base vectorial
Almacenamiento de los datosMongoDB autoalojadoVolume storage + LanceDB/Qdrant
Caso de uso idealAsistente conversacional de equipoBase de conocimiento consultable
Huella de recursosMás pesada (varios servicios)Más ligera de entrada

Despliegue sin nube: 100 % local

Para un despliegue completamente fuera de la nube, combine LibreChat con Ollama en el mismo VPS y desactive todos los endpoints cloud en librechat.yaml. Ningún dato abandonará nunca el servidor. Añada ALLOW_REGISTRATION=false y un SSO OIDC interno (Authentik) para cerrar el perímetro de seguridad. Esta arquitectura es especialmente adecuada para despachos de abogados, equipos médicos o cualquier contexto sometido al RGPD donde los datos no pueden transitar por terceros. El coste total se reduce entonces al VPS — entre $10 y $25/mes según la potencia elegida en ServOrbit.

Instale LibreChat en un VPS ServOrbit con un solo clic

LibreChat está disponible en el Marketplace de ServOrbit. Pida un VPS Cloud y la interfaz multimodelo se instala automáticamente, MongoDB incluido.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva