[{"data":1,"prerenderedAt":207},["ShallowReactive",2],{"seo-verification":3,"blog-anythingllm-117-multiusuario-en-vps-guia-completa-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-anythingllm-117-multiusuario-en-vps-guia-completa-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":151,"ctaBody":152,"ctaButton":153,"ctaUrl":154,"relatedPosts":155},417,"anythingllm-117-multiusuario-en-vps-guia-completa",{"fr":12,"en":13,"ar":14,"es":10},"anythingllm-1-17-rag-multi-utilisateurs-vps-docker-guide","anythingllm-117-multi-user-on-vps-complete-guide","دليل-anythingllm-117-متعدد-المستخدمين-على-خادم-vps","AnythingLLM 1.17 multiusuario en VPS: guía completa","Configura AnythingLLM v1.17.0 en modo multiusuario en un VPS de 4 GB RAM: espacios aislados por cliente, RAG sobre tus documentos, Vertex AI, sin suscripción SaaS.",10,0,false,"2026-10-06T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"Inteligencia Artificial","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fanythingllm-1-17-rag-multi-utilisateurs-vps-docker-guide-poster.svg",{"categorySlug":34,"appSlug":35},"inteligencia-artificial","anything-llm","AnythingLLM soporta el modo multiusuario desde varias versiones. La v1.17.0 (1 de octubre de 2026) va más lejos con un rol Manager dedicado, la diarización de reuniones con Nemotron 3 y Parakeet Redux, sobre la compatibilidad nativa con Google Vertex AI introducida en la v1.16.2 (22 de septiembre de 2026). Para una agencia o un desarrollador que paga una suscripción a ChatGPT Team o Claude for Teams, esta combinación replica ese modelo en autoalojamiento: espacios de trabajo aislados por cliente, RAG sobre tus propios documentos y sin datos enviados a terceros. Esta guía cubre la configuración funcional de Docker Compose, la creación de usuarios desde la interfaz Admin y los errores reales encontrados durante el montaje.",[38,42,53,87,90,93,96,99,148],{"type":39,"title":40,"body":41},"h2","Qué cambia la versión v1.17.0 para uso de agencias","AnythingLLM soporta el modo multiusuario desde varias versiones. La v1.17.0 (1 de octubre de 2026) refina este sistema introduciendo un tercer rol — Manager — que puede crear espacios de trabajo, invitar usuarios y gestionar documentos sin acceder a los ajustes del sistema como claves API o configuración del LLM. Para una agencia, este rol permite delegar la administración de un cliente a un gestor de proyecto sin exponer toda la infraestructura. La diarización de reuniones ahora se apoya en Nemotron 3 para el reconocimiento del hablante y en Parakeet Redux para la transcripción — dos modelos ejecutables localmente en un VPS con GPU, o delegables a una API de Nvidia. Google Vertex AI ya estaba disponible desde la v1.16.2 (22 de septiembre de 2026) como proveedor de LLM configurable directamente desde la interfaz, sin parchear manualmente el archivo de configuración. Estas incorporaciones recientes hacen de la combinación v1.16.2 + v1.17.0 la configuración más completa para un uso multicliente estructurado.",{"type":43,"title":44,"items":45},"ul","Requisitos previos antes de empezar",[46,47,48,49,50,51,52],"**VPS con al menos 4 GB de RAM** — 2 vCPU \u002F 4 GB para APIs cloud, 4 vCPU \u002F 8 GB si usas un modelo de embedding local o Parakeet Redux","**20 GB de disco SSD** — los vectores de LanceDB y la caché de documentos crecen con el corpus; deja margen","**Docker y Docker Compose v2** — verifica con `docker compose version` (sin guion); la v1 (con guion) no soporta todos los healthchecks","**Un subdominio dedicado** — por ejemplo `chat.your-domain.com`; el puerto 3001 no debe exponerse directamente al público","**Un proxy inverso activo** — Nginx o Caddy para TLS con Let's Encrypt y límites de tamaño de subida de documentos","**Una clave API de LLM** — OpenAI, Anthropic, Vertex AI o un Ollama local ya en ejecución en el VPS","**El puerto 3001 libre** — AnythingLLM lo usa por defecto; comprueba con `ss -tlnp | grep 3001` antes de lanzar",{"type":54,"title":55,"steps":56},"steps","Desplegar AnythingLLM v1.17.0 con Docker Compose",[57,60,63,66,69,72,75,78,81,84],{"title":58,"body":59},"Crear la estructura de directorios y ajustar permisos","Conéctate por SSH y crea el directorio de trabajo con `mkdir -p \u002Fopt\u002Fanythingllm\u002Fstorage`. AnythingLLM ejecuta con UID 1000 dentro del contenedor; sin corregir permisos, el volumen rechaza escrituras en el primer arranque. Aplica `chown -R 1000:1000 \u002Fopt\u002Fanythingllm\u002Fstorage`. Si usaste `chmod -R 777`, funciona pero amplía el acceso innecesariamente — prefiere el `chown` específico.",{"title":61,"body":62},"Redactar el archivo docker-compose.yml","Crea `\u002Fopt\u002Fanythingllm\u002Fdocker-compose.yml` con el siguiente contenido. El servicio se llama `anythingllm`, imagen `mintplexlabs\u002Fanythingllm:latest`, `restart: unless-stopped`. Volúmenes: `.\u002Fstorage:\u002Fapp\u002Fserver\u002Fstorage`. Puertos: `3001:3001` (ciérralo en el firewall, solo el proxy inverso accede). Variables de entorno en la sección `env_file: .env`. Red: crea una red `proxy` compartida con tu proxy inverso para evitar exponer el puerto 3001 en la interfaz pública.",{"title":64,"body":65},"Redactar el archivo .env","Crea `\u002Fopt\u002Fanythingllm\u002F.env` con al menos estas tres variables. `JWT_SECRET`: una cadena aleatoria de al menos 32 caracteres, generada con `openssl rand -hex 32` — no la cambies nunca tras el primer arranque, todos los tokens de sesión quedarán invalidados. `STORAGE_DIR`: `\u002Fapp\u002Fserver\u002Fstorage` (debe coincidir con la ruta objetivo del volumen). `SERVER_PORT`: `3001`. Añade después las variables de tu proveedor LLM, por ejemplo `LLM_PROVIDER=openai` y `OPEN_AI_KEY=sk-...` para OpenAI, o `LLM_PROVIDER=gemini` y `GEMINI_API_KEY=...` para Vertex AI mediante el adaptador Gemini.",{"title":67,"body":68},"Arrancar el contenedor y verificar los logs","Desde `\u002Fopt\u002Fanythingllm`, ejecuta `docker compose up -d`. Espera 30 segundos y verifica que el servicio escucha con `docker compose logs --tail=50`. Debes ver la línea `Server started on port 3001`. Si el log muestra `EACCES: permission denied, mkdir '\u002Fapp\u002Fserver\u002Fstorage\u002F...'`, el `chown` del paso 1 no se aplicó a la ruta correcta — repite el paso 1 y luego `docker compose restart`.",{"title":70,"body":71},"Configurar el proxy inverso y obtener el certificado TLS","Con Nginx, crea un vhost que proxy `https:\u002F\u002Fchat.your-domain.com` hacia `http:\u002F\u002F127.0.0.1:3001`. Añade `client_max_body_size 100m` en el bloque `server` para permitir subir PDFs grandes. Solicita el certificado con `certbot --nginx -d chat.your-domain.com`. Con Caddy, la directiva `reverse_proxy localhost:3001` es suficiente, el TLS es automático.",{"title":73,"body":74},"Crear la cuenta de administrador en el primer acceso","Abre `https:\u002F\u002Fchat.your-domain.com` en un navegador. La interfaz te pide crear la primera cuenta de administrador — esta cuenta es la única que puede modificar las claves API, el proveedor LLM y los ajustes del sistema. Elige una contraseña segura; AnythingLLM no ofrece restablecimiento de contraseña por email en modo autoalojado sin configuración SMTP adicional.",{"title":76,"body":77},"Activar el modo multiusuario e invitar a un segundo usuario","En la interfaz Admin, ve a Settings → Security → activa Multi-user mode. Aparece un botón Invite User en el menú de usuarios. Introduce el email, elige el rol (Default o Manager) y copia el enlace de invitación generado. El rol Manager puede gestionar espacios de trabajo y documentos; el rol Default solo accede a los espacios de trabajo asignados.",{"title":79,"body":80},"Crear un espacio de trabajo aislado y asignarlo a un usuario","Desde el panel, haz clic en New Workspace y nómbralo (por ejemplo `Client Dupont`). Arrastra tus PDFs al espacio de trabajo y haz clic en Save & Embed para iniciar la vectorización. Una vez completado el embedding, ve a los ajustes del espacio → Manage Users y añade solo los usuarios autorizados. Los usuarios no asignados no verán este espacio de trabajo.",{"title":82,"body":83},"Configurar Google Vertex AI como proveedor LLM","En Settings → LLM Provider, selecciona Google Gemini (que usa la API de Vertex AI bajo el capó mediante el adaptador nativo disponible desde la v1.16.2). Introduce tu clave de API de Google (`GEMINI_API_KEY`) y elige el modelo. Si prefieres autenticación con cuenta de servicio de GCP, exporta `GOOGLE_APPLICATION_CREDENTIALS` hacia la ruta del archivo JSON en tu `.env` y reinicia el contenedor con `docker compose restart`.",{"title":85,"body":86},"Actualizar sin perder datos","Para actualizar a una versión superior, detén el contenedor con `docker compose down`, modifica la etiqueta de la imagen en `docker-compose.yml` (ejemplo: `mintplexlabs\u002Fanythingllm:v1.17.0`), luego ejecuta `docker compose pull && docker compose up -d`. Tus datos están en `.\u002Fstorage` montado como volumen: sobreviven a la actualización. Revisa los logs tras el reinicio para confirmar que ninguna migración de esquema ha fallado.",{"type":88,"body":89},"tip","Fija una etiqueta de versión específica en tu `docker-compose.yml` en lugar de usar la etiqueta `latest`. El comando `docker image ls mintplexlabs\u002Fanythingllm` te muestra la versión descargada actualmente. Así, una actualización solo se aplica cuando tú lo decides, y puedes hacer rollback cambiando únicamente la etiqueta y ejecutando `docker compose up -d` de nuevo.",{"type":39,"title":91,"body":92},"Gestión de espacios de trabajo y roles en la práctica","Una vez activado el modo multiusuario, la interfaz Admin expone tres vistas distintas: Users (lista de cuentas, roles, estado activo), Workspaces (lista global con recuento de documentos y conversaciones) e Invites (enlaces de invitación pendientes). Para una agencia que gestiona diez clientes, la buena práctica es crear un workspace por cliente, asignar un usuario con rol Manager por cliente, y mantener a los colaboradores en rol Default con acceso limitado a los espacios de trabajo que les correspondan. El rol Manager no puede ver las claves API ni cambiar el proveedor LLM: este aislamiento evita que un cliente observe la configuración de otro. Las conversaciones permanecen en el workspace — no migran al mover un documento entre workspaces. Nombra tus workspaces de forma explícita desde el principio: renombrar un workspace no cambia las rutas de almacenamiento internas.",{"type":39,"title":94,"body":95},"Hacer copias de seguridad y restaurar la instancia","Todo el estado de AnythingLLM cabe en el volumen `.\u002Fstorage`: la base de datos vectorial LanceDB, los metadatos de los documentos, la configuración de la instancia y el historial de conversaciones. Una copia de seguridad consiste en archivar esta carpeta mientras el contenedor está detenido, o usar `rsync` hacia un almacenamiento remoto mientras el contenedor sigue en ejecución — LanceDB tolera las lecturas concurrentes. Para copias programáticas, añade un servicio `cron` en tu compose que ejecute `tar -czf \u002Fbackup\u002Fanythingllm-$(date +%Y%m%d).tar.gz \u002Fopt\u002Fanythingllm\u002Fstorage`. La restauración sigue el camino inverso: copia el archivo en `.\u002Fstorage` respetando los permisos `1000:1000`, luego `docker compose up -d`. El `.env` contiene el `JWT_SECRET`: guarda una copia por separado y cifrada, ya que perderlo invalida todas las sesiones activas y los tokens de API.",{"type":39,"title":97,"body":98},"Resolución de errores: problemas reales en el montaje","Estos son los cinco errores más frecuentes y documentados al desplegar AnythingLLM v1.17.0 en un VPS, con el mensaje exacto y la corrección aplicada. Primer error: `EACCES: permission denied, mkdir '\u002Fapp\u002Fserver\u002Fstorage\u002Fvector-cache'` al arrancar el contenedor. Causa: la carpeta `storage` pertenece a root pero el contenedor ejecuta con UID 1000. Corrección: `chown -R 1000:1000 \u002Fopt\u002Fanythingllm\u002Fstorage` y luego `docker compose restart`. Segundo error: `address already in use :::3001` en los logs. Causa: otro servicio ocupa el puerto. Corrección: `ss -tlnp | grep 3001` para identificar el proceso conflictivo, luego detenerlo o cambiar `SERVER_PORT` en `.env`. Tercer error: `Invalid JWT secret — all sessions invalidated` tras un reinicio. Causa: se modificó `JWT_SECRET`. Corrección: restaura el valor original o pide a los usuarios que vuelvan a iniciar sesión. Cuarto error: subidas de PDF bloqueadas a 1 MB pese a la configuración. Causa: `client_max_body_size` definido en el bloque `http` de Nginx pero no en el bloque `server` del vhost — gana el más específico. Verifica con `nginx -T | grep client_max_body_size`. Quinto error: el workspace no devuelve respuestas con fuentes tras el embedding. Causa: el modelo de embedding de la ingesta difiere del activo. Corrección: elimina los documentos, cambia el modelo de embedding y vuelve a ingerir.",{"type":100,"title":101,"headers":102,"rows":108},"comparison","AnythingLLM frente a alternativas RAG autoalojadas",[103,104,105,106,107],"Criterio","AnythingLLM v1.17.0","Open WebUI","LibreChat","PrivateGPT",[109,115,121,127,133,136,141,144],[110,111,112,113,114],"RAG documental integrado","Sí — PDF, Word, URL, Notion, GitHub","Importación básica sin pipeline RAG","Via plugin RAG (config manual)","Sí — optimizado para documentos confidenciales",[116,117,118,119,120],"Modo multiusuario","Admin \u002F Manager \u002F Default — soportado de forma nativa, rol Manager refinado en v1.17.0","Gestión de usuarios básica","Sí con roles por conversación","No — monousuario por defecto",[122,123,124,125,126],"Espacios de trabajo aislados por cliente","Sí — aislamiento nativo por workspace","No — conversaciones compartidas","Limitado — por conversación únicamente","No",[128,129,130,131,132],"Proveedores LLM soportados","Más de 20 (Ollama, OpenAI, Vertex AI, Anthropic…)","Ollama + compatibles OpenAI","OpenAI, Azure, Anthropic, Ollama…","Ollama y compatibles con OpenAI",[134,135,126,126,126],"Diarización de reuniones","Sí — Nemotron 3 + Parakeet Redux (v1.17.0)",[137,138,139,140,138],"RAM mínima (API cloud)","~512 MB","~256 MB","~384 MB",[142,143,126,126,126],"Constructor de agentes IA sin código","Sí",[145,146,146,146,147],"Licencia","MIT","Apache 2.0",{"type":39,"title":149,"body":150},"Para ir más lejos con tu infraestructura IA","AnythingLLM v1.17.0 cubre el caso de uso RAG multicliente en un solo VPS. Si tu corpus supera varios millones de vectores, considera externalizar la base vectorial a Qdrant en un contenedor vecino — AnythingLLM lo soporta de forma nativa desde los ajustes de la instancia. Para equipos que quieren comparar interfaces antes de decidir, el artículo sobre Open WebUI, LibreChat y Dify detalla los criterios de selección según el perfil de uso. Si tus documentos están sujetos a requisitos estrictos de confidencialidad, el artículo sobre PrivateGPT explica cómo trabajar en modo completamente local sin ninguna llamada de red saliente.","Tu entorno AnythingLLM listo en minutos","La plantilla VPS de AnythingLLM del catálogo ServOrbit preconfigura el entorno Docker, los volúmenes y los permisos al arrancar — llegas directamente al paso de creación de la cuenta de administrador.","Activar esta solución","\u002Fmarketplace\u002Finteligencia-artificial\u002Fanything-llm",[156,173,189],{"id":157,"slug":158,"slugs":159,"title":163,"excerpt":164,"readTime":165,"views":18,"isPinned":19,"publishedAt":166,"updatedAt":167,"category":168,"categories":169,"featuredImage":30,"bgImage":31,"posterImage":171,"relatedSolution":172},9,"como-alojar-anythingllm-en-un-vps",{"fr":160,"en":161,"ar":162,"es":158},"heberger-anythingllm-vps","how-to-host-anythingllm-on-a-vps","كيفية-استضافة-anythingllm-على-خادم-vps","AnythingLLM en VPS: guía completa con trampas a evitar","Aloje AnythingLLM en un VPS: Docker, HTTPS y fijado de versión obligatorio. Trampas documentadas: :latest, Gemini v1.16 y la red Docker de Ollama.",8,"2026-06-11T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[170],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-anythingllm-vps-poster.svg",{"categorySlug":34,"appSlug":35},{"id":174,"slug":175,"slugs":176,"title":180,"excerpt":181,"readTime":17,"views":23,"isPinned":19,"publishedAt":182,"updatedAt":167,"category":183,"categories":184,"featuredImage":30,"bgImage":31,"posterImage":186,"relatedSolution":187},329,"open-webui-librechat-dify-cual-elegir-en-un-vps",{"fr":177,"en":178,"ar":179,"es":175},"open-webui-vs-librechat-vs-dify-choisir-interface-ia-vps","open-webui-librechat-dify-which-one-to-choose-on-a-vps","open-webui-أو-librechat-أو-dify-أيها-تختار-على-vps","Open WebUI, LibreChat, Dify: ¿cuál elegir en un VPS?","Open WebUI, LibreChat o Dify: tres interfaces IA de código abierto, tres perfiles de uso. Tres preguntas para elegir en menos de cinco minutos.","2026-09-04T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[185],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fopen-webui-vs-librechat-vs-dify-choisir-interface-ia-vps-poster.svg",{"categorySlug":34,"appSlug":188},"open-webui",{"id":190,"slug":191,"slugs":192,"title":196,"excerpt":197,"readTime":198,"views":18,"isPinned":19,"publishedAt":199,"updatedAt":200,"category":201,"categories":202,"featuredImage":30,"bgImage":31,"posterImage":204,"relatedSolution":205},281,"privategpt-en-vps-documentos-confidenciales",{"fr":193,"en":194,"ar":195,"es":191},"privategpt-documents-confidentiels-vps","privategpt-on-a-vps-analyze-confidential-documents-locally","تشغيل-privategpt-على-vps-تحليل-المستندات-السرية-محليا","PrivateGPT en VPS: analice documentos confidenciales en local","Analice contratos, declaraciones fiscales y expedientes de RR. HH. con PrivateGPT en un VPS, sin enviar datos a la nube. Cumple el RGPD y el artículo 50 de la AI Act.",7,"2026-08-18T00:00:00+00:00","2026-09-23T15:23:17+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[203],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fprivategpt-documents-confidentiels-vps-poster.svg",{"categorySlug":34,"appSlug":206},"private-gpt",1791414855474]