[{"data":1,"prerenderedAt":216},["ShallowReactive",2],{"seo-verification":3,"blog-migrar-rocket-chat-a-mattermost-en-un-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-migrar-rocket-chat-a-mattermost-en-un-vps-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":157,"ctaBody":158,"ctaButton":159,"ctaUrl":160,"relatedPosts":161},356,"migrar-rocket-chat-a-mattermost-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"migrer-rocket-chat-vers-mattermost-vps","migrating-rocket-chat-to-mattermost-on-a-vps","rocket-chat-mattermost-vps","Migrar Rocket.Chat a Mattermost en un VPS","Rocket.Chat 9.0 reserva LDAP y SAML al plan Premium. Migra a Mattermost Community conservando el historial, los usuarios y la autenticación empresarial.",11,0,false,"2026-09-17T00:00:00+00:00","2026-09-17T14:09:37+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmigrer-rocket-chat-vers-mattermost-vps-poster.svg",{"categorySlug":34,"appSlug":35},"colaboracion-productividad","mattermost","Las notas de la versión 8.8.0 publicadas el 3 de septiembre de 2026 anunciaron oficialmente que LDAP y SAML pasarán a ser características exclusivas del plan Premium a partir de la versión 9.0. Si administras una instancia Community autoalojada con autenticación empresarial, la ventana de migración está abierta. Esta guía cubre la copia de seguridad de tu Rocket.Chat existente, la instalación de Mattermost en tu VPS, la migración del historial y los usuarios con mmetl, y la configuración de LDAP en Mattermost Community — que lo incluye sin restricción de plan.",[38,42,52,55,71,83,98,110,114,117,154],{"type":39,"title":40,"body":41},"h2","Qué cambia en Rocket.Chat 9.0","La versión 8.8.0, publicada el 3 de septiembre de 2026, aún ejecuta LDAP y SAML en instancias Community, pero introduce advertencias explícitas en el panel de administración: a partir de la versión 9.0, estos dos módulos requerirán un módulo de licencia `ldap-enterprise` o `saml-enterprise`. Los registros del sistema ya advierten a los espacios de trabajo sin licencia que autentican usuarios mediante cualquiera de estos métodos.\n\nEn la práctica: si tu directorio empresarial (Active Directory, OpenLDAP) o tu proveedor de identidad (Okta, Azure AD, Keycloak) está conectado a tu Rocket.Chat Community actual, esa conexión dejará de funcionar al actualizar a la versión 9.0 sin una suscripción Premium. Para los equipos que han construido su flujo de trabajo alrededor de esta autenticación, la ventana de migración está abierta.",{"type":43,"title":44,"items":45},"ul","Por qué Mattermost Community es una alternativa sólida",[46,47,48,49,50,51],"**LDAP y SAML incluidos sin licencia** — Mattermost distribuye la autenticación Active Directory y SAML en su edición de código abierto, bajo licencia MIT para el servidor (Apache 2.0 para contribuciones), sin requisito de plan de pago.","**PostgreSQL nativo** — Mattermost se apoya en PostgreSQL, bien documentado, fácil de respaldar con `pg_dump` y más común que MongoDB en entornos Docker autoalojados.","**mmetl, una herramienta oficial de migración** — la herramienta `mmetl` del equipo de Mattermost transforma un `mongodump` de Rocket.Chat en un archivo de importación JSONL compatible con `mmctl import`, incluyendo canales, usuarios y mensajes.","**Menor huella de memoria** — Mattermost puede arrancar con 2 GB de RAM para equipos de menos de cincuenta usuarios; Rocket.Chat requiere un replica set de MongoDB que consume más a volumen equivalente.","**Aplicaciones oficiales de escritorio y móvil** — los clientes iOS, Android, macOS y Windows apuntan a tu propio dominio desde la instalación.","**Historial y archivos adjuntos ilimitados** — sin ventana deslizante, sin corte por volumen de mensajes, todo almacenado en tu disco o bucket S3.",{"type":39,"title":53,"body":54},"Requisitos previos cuantificados","Antes de empezar, verifica que dispones de lo siguiente.\n\nPara el servidor Mattermost: un VPS con **2 vCPU y 4 GB de RAM como mínimo** — 2 GB son suficientes técnicamente para Mattermost solo, pero PostgreSQL corre en el mismo host durante la migración, lo que hace que 4 GB sean más cómodos. Planifica **40 GB de SSD** como mínimo. Docker y Docker Compose deben estar instalados. Se necesitan una IPv4 dedicada y un subdominio `chat.yourdomain.com` con un registro A.\n\nPara la migración: acceso SSH a tu servidor Rocket.Chat existente, herramientas `mongodump` instaladas en ese servidor, y `mmetl` v0.6.0 (publicado el 11 de septiembre de 2026). Un certificado TLS válido para el dominio destino.",{"type":56,"title":57,"steps":58},"steps","Hacer copia de seguridad de Rocket.Chat",[59,62,65,68],{"title":60,"body":61},"Poner Rocket.Chat en modo solo lectura","Antes de cualquier copia de seguridad, notifica a tus usuarios y pon la instancia en modo mantenimiento. En la administración de Rocket.Chat, ve a **Administración → General → Modo mantenimiento** y activa el modo de solo lectura.\n\nAlternativamente, si no dispones de este modo, simplemente detén el contenedor de Rocket.Chat:\n```bash\ndocker compose stop rocketchat\n```",{"title":63,"body":64},"Exportar la base de datos MongoDB con mongodump","mmetl espera un directorio producido por `mongodump`, no un archivo comprimido. Ejecuta el dump desde el host o desde dentro del contenedor MongoDB:\n```bash\n# desde el host, si mongodump está instalado\nmongodump --uri=\"mongodb:\u002F\u002Flocalhost:27017\u002Frocketchat\" --out \u002Ftmp\u002Frc-dump\n\n# o desde el contenedor Docker\ndocker exec \u003Cmongo-container> mongodump \\\n  --db rocketchat --out \u002Fdump\ndocker cp \u003Cmongo-container>:\u002Fdump \u002Ftmp\u002Frc-dump\n```\nVerifica que `\u002Ftmp\u002Frc-dump\u002Frocketchat\u002F` contiene archivos `.bson` y `.json` para las colecciones `rocketchat_message`, `users`, `rocketchat_room`, etc.",{"title":66,"body":67},"Exportar los archivos adjuntos (uploads)","Los archivos adjuntos almacenados en GridFS o en el sistema de archivos local no forman parte del dump de MongoDB — deben copiarse por separado.\n\nSi utilizas almacenamiento local (opción predeterminada):\n```bash\ndocker cp \u003Crocketchat-container>:\u002Fapp\u002Fuploads \u002Ftmp\u002Frc-uploads\n```\nSi utilizas un bucket S3 compatible, anota los parámetros de conexión — los reconfigura-rás en Mattermost.",{"title":69,"body":70},"Exportar usuarios via REST API (opcional)","Para un inventario de cuentas antes de la migración, la API de Rocket.Chat permite exportar la lista de usuarios activos:\n```bash\ncurl -H \"X-Auth-Token: \u003Ctoken>\" \\\n     -H \"X-User-Id: \u003Cadmin-id>\" \\\n     \"https:\u002F\u002Fchat.yourdomain.com\u002Fapi\u002Fv1\u002Fusers.list?count=200\" \\\n  | python3 -c \"import sys,json; [print(u['username'], u.get('emails',[{}])[0].get('address','')) for u in json.load(sys.stdin)['users']]\"\n```\nConserva esta lista para verificar que todas las cuentas se han creado correctamente en Mattermost tras la importación masiva.",{"type":56,"title":72,"steps":73},"Instalar Mattermost en tu VPS",[74,77,80],{"title":75,"body":76},"Obtener la configuración oficial de Docker Compose","El equipo de Mattermost mantiene un repositorio `docker` con una configuración Compose lista para usar:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmattermost\u002Fdocker \u002Fopt\u002Fmattermost\ncd \u002Fopt\u002Fmattermost\ncp env.example .env\n```\nAbre `.env` y rellena como mínimo:\n```bash\nDOMAIN=chat.yourdomain.com\nMM_SERVICESETTINGS_SITEURL=https:\u002F\u002Fchat.yourdomain.com\nPOSTGRES_USER=mmuser\nPOSTGRES_PASSWORD=\u003Ccontraseña-segura>\nPOSTGRES_DB=mattermost\n```",{"title":78,"body":79},"Crear los volúmenes y arrancar el stack","Crea los directorios de volúmenes antes del primer arranque:\n```bash\nmkdir -p .\u002Fvolumes\u002Fapp\u002Fmattermost\u002F{config,data,logs,plugins,client\u002Fplugins,bleve-indexes}\nsudo chown -R 2000:2000 .\u002Fvolumes\u002Fapp\u002Fmattermost\n```\nArrancar el stack completo (Mattermost + PostgreSQL + nginx con certificado Let's Encrypt integrado):\n```bash\ndocker compose -f docker-compose.yml -f docker-compose.nginx.yml up -d\n```\nEspera a que el contenedor de Mattermost esté `healthy` antes de continuar.",{"title":81,"body":82},"Crear la cuenta de administrador","Abre `https:\u002F\u002Fchat.yourdomain.com` en tu navegador. En el primer acceso, Mattermost solicita la creación de una cuenta de administrador. Introduce el correo electrónico, el nombre de usuario y la contraseña del administrador inicial — esta cuenta será independiente de las cuentas importadas desde Rocket.Chat.",{"type":56,"title":84,"steps":85},"Migrar el historial y los usuarios con mmetl",[86,89,92,95],{"title":87,"body":88},"Instalar mmetl","Descarga el binario de mmetl v0.6.0 (publicado el 11 de septiembre de 2026) desde las releases de GitHub:\n```bash\ncurl -L https:\u002F\u002Fgithub.com\u002Fmattermost\u002Fmmetl\u002Freleases\u002Fdownload\u002Fv0.6.0\u002Fmmetl-linux-amd64 \\\n  -o \u002Fusr\u002Flocal\u002Fbin\u002Fmmetl\nchmod +x \u002Fusr\u002Flocal\u002Fbin\u002Fmmetl\nmmetl version\n```\n**Cambio importante en v0.6.0**: el subcomando `mmetl check` ha sido eliminado. Usa `mmetl transform ... --dry-run` para validar el dump antes de producir el archivo de importación.",{"title":90,"body":91},"Transformar el dump de Rocket.Chat en un archivo de importación de Mattermost","Ejecuta la transformación apuntando al directorio que contiene las colecciones BSON exportadas (la subcarpeta `rocketchat` del dump) y el nombre del equipo de Mattermost destino:\n```bash\nmmetl transform rocketchat \\\n  --team mi-equipo \\\n  --dump-dir \u002Ftmp\u002Frc-dump\u002Frocketchat \\\n  --output \u002Ftmp\u002Fmattermost-import\n```\nmmetl genera un archivo `import.jsonl` y un directorio `bulk-export-attachments\u002F`. Para probar sin generar salida:\n```bash\nmmetl transform rocketchat \\\n  --team mi-equipo \\\n  --dump-dir \u002Ftmp\u002Frc-dump\u002Frocketchat \\\n  --dry-run\n```",{"title":93,"body":94},"Ejecutar la importación en Mattermost via mmctl","Copia el archivo de importación en el directorio de datos de Mattermost, luego ejecuta la importación masiva:\n```bash\n# copiar al contenedor\ndocker cp \u002Ftmp\u002Fmattermost-import\u002Fimport.jsonl \\\n  \u003Cmattermost-container>:\u002Fmattermost\u002Fdata\u002Fimport.jsonl\n\n# ejecutar la importación desde mmctl (dentro del contenedor)\ndocker exec \u003Cmattermost-container> mmctl import bulk \\\n  \u002Fmattermost\u002Fdata\u002Fimport.jsonl --bypass-upload\n```\nPara seguir el progreso, consulta los trabajos de importación en **System Console → Bulk Import**.",{"title":96,"body":97},"Verificar resultados y limitaciones conocidas","Después de la importación, verifica los siguientes puntos:\n- Los canales públicos y privados deben estar presentes en Mattermost con su historial.\n- Los nombres de usuario se importan pero las contraseñas **no** — cada usuario debe restablecer su contraseña o iniciar sesión via LDAP si el directorio está configurado.\n- Los archivos adjuntos requieren un segundo paso con `--attachments-dir`.\n- Los hilos de discusión (respuestas anidadas) se aplanan si la estructura no es reconocida.",{"type":56,"title":99,"steps":100},"Configurar LDAP en Mattermost Community",[101,104,107],{"title":102,"body":103},"Activar LDAP en la System Console","En **System Console → Authentication → AD\u002FLDAP**, activa LDAP y rellena los parámetros de conexión:\n```\nLDAP Server: ldap.yourdomain.com (o la IP de tu controlador de dominio)\nPort: 389 (LDAP) o 636 (LDAPS)\nBind Username: cn=mattermost-svc,ou=serviceaccounts,dc=yourdomain,dc=com\nBind Password: \u003Ccontraseña-de-la-cuenta-de-servicio>\nBase DN: ou=users,dc=yourdomain,dc=com\n```\nActiva **LDAP over TLS (LDAPS)** o **StartTLS** si tu infraestructura lo permite.",{"title":105,"body":106},"Configurar los mapeos de atributos","Mattermost lee atributos LDAP para completar los perfiles. Mapeos comunes para Active Directory:\n```\nID Attribute:        objectGUID\nUsername Attribute:  sAMAccountName\nEmail Attribute:     mail\nFirst Name:          givenName\nLast Name:           sn\n```\nPara OpenLDAP, sustituye `sAMAccountName` por `uid` y `objectGUID` por `entryUUID`.\n\nEn **User Filter**, restringe la sincronización a los miembros del grupo deseado:\n```\n(memberOf=cn=mattermost-users,ou=groups,dc=yourdomain,dc=com)\n```",{"title":108,"body":109},"Probar la conexión y sincronizar","Haz clic en **AD\u002FLDAP Test** en la parte inferior de la página para validar la conexión y el bind. Si obtienes `LDAP Result Code 49 'Invalid Credentials'`, verifica el DN de la cuenta de servicio y su contraseña.\n\nDispara una primera sincronización manual a través de **AD\u002FLDAP Synchronize Now**. Los usuarios cuyo atributo de correo coincida con una cuenta ya importada via mmetl se vincularán automáticamente.",{"type":111,"title":112,"body":113},"tip","Plan de transición: mantén Rocket.Chat en solo lectura durante la migración","No cortes Rocket.Chat antes de validar la importación de Mattermost en condiciones reales. La estrategia recomendada es ejecutar ambas instancias en paralelo durante 48 a 72 horas:\n\n1. Activa el modo mantenimiento \u002F solo lectura en Rocket.Chat en cuanto el dump esté listo.\n2. Configura Mattermost en un subdominio separado (`chat-new.yourdomain.com`) durante la validación.\n3. Invita a un grupo piloto (5 a 10 personas) a usar Mattermost y reportar canales o mensajes que falten.\n4. Una vez validado, cambia el DNS de `chat.yourdomain.com` al nuevo VPS de Mattermost.\n5. Mantén la instancia de Rocket.Chat en solo lectura otros 30 días para que los usuarios puedan recuperar los enlaces compartidos anteriormente.",{"type":39,"title":115,"body":116},"Resolución de problemas comunes","**mmetl: `unexpected end of JSON input`** — el directorio pasado a `--dump-dir` debe ser la subcarpeta `rocketchat\u002F` que contiene los archivos `.bson`, no el directorio padre del dump. Comprueba con `ls \u002Ftmp\u002Frc-dump\u002Frocketchat\u002F*.bson`.\n\n**Importación parcial, canales ausentes** — mmetl omite los canales privados cuyo propietario no se encuentra en la colección `users`. Verifica que los usuarios afectados están presentes en el dump.\n\n**Fallo de bind LDAP (código 49)** — la causa más frecuente es un DN mal formado para la cuenta de servicio. Prueba la conexión desde el VPS con `ldapsearch` antes de configurar Mattermost.\n\n**Conexiones WebSocket inestables** — si Mattermost muestra desconexiones frecuentes, verifica que tu proxy inverso transmite correctamente las cabeceras `Upgrade` y `Connection`.\n\n**Archivos adjuntos ausentes** — ejecutar `mmctl import bulk` sin `--attachments-dir` crea los mensajes pero deja los archivos adjuntos en error. Vuelve a ejecutar con el directorio `bulk-export-attachments\u002F` producido por mmetl.",{"type":118,"title":119,"headers":120,"rows":124},"comparison","Rocket.Chat Community 9.0 vs Mattermost Community",[121,122,123],"Criterio","Rocket.Chat Community 9.0","Mattermost Community",[125,129,131,135,139,143,147,150],[126,127,128],"LDAP \u002F Active Directory","Premium (desde 9.0)","Incluido sin restricción",[130,127,128],"SAML SSO",[132,133,134],"Base de datos","MongoDB (replica set requerido)","PostgreSQL",[136,137,138],"RAM mínima","4 GB (MongoDB replica set)","2 GB (equipo \u003C 50 usuarios)",[140,141,142],"Licencia","AGPL-3.0","MIT (servidor) \u002F Apache 2.0",[144,145,146],"Herramienta de migración","Exportación JSON\u002FCSV nativa","mmetl + mmctl bulk import",[148,149,149],"Historial ilimitado","Sí",[151,152,153],"Omnicanal (livechat, email)","Sí (nativo)","Limitado (extensiones)",{"type":39,"title":155,"body":156},"Mattermost Community, una plataforma estable a largo plazo","Migrar de Rocket.Chat a Mattermost es una decisión estructural, no un workaround. Al situar la autenticación LDAP y SAML detrás de una licencia de pago, Rocket.Chat señala hacia dónde va su modelo de negocio — lo cual es su derecho. Mattermost ha tomado la decisión opuesta manteniendo estas características en su edición de código abierto, incluso para organizaciones sin presupuesto de suscripción.\n\nEn un VPS con PostgreSQL, Mattermost ofrece una base predecible: las copias de seguridad son simples operaciones `pg_dump`, las actualizaciones pasan por Docker Compose, y la API REST documentada permite integrar las herramientas de tu infraestructura — CI, monitorización, alertas — sin restricciones de plan. El historial de comunicación de tu equipo permanece en tu disco, exportable y auditable en cualquier momento.\n\nVer también: \u003Ca href=\"\u002Fblog\u002Fheberger-mattermost\">guía de instalación de Mattermost en VPS\u003C\u002Fa>, \u003Ca href=\"\u002Fblog\u002Fmattermost-vs-rocketchat-self-hosted-slack-2026\">comparativa Mattermost vs Rocket.Chat 2026\u003C\u002Fa> y \u003Ca href=\"\u002Fblog\u002Fheberger-rocket-chat\">alojar Rocket.Chat en VPS\u003C\u002Fa>.","Despliega Mattermost en un VPS Cloud de ServOrbit","Un VPS con acceso root, IPv4 dedicada y SSD NVMe — la base para alojar Mattermost con PostgreSQL y gestionar tu propia autenticación LDAP.","Lanzar mi VPS Cloud","\u002Fvps-cloud",[162,180,197],{"id":163,"slug":164,"slugs":165,"title":169,"excerpt":170,"readTime":171,"views":172,"isPinned":19,"publishedAt":173,"updatedAt":174,"category":175,"categories":176,"featuredImage":30,"bgImage":31,"posterImage":178,"relatedSolution":179},76,"alojar-mattermost-en-un-vps",{"fr":166,"en":167,"ar":168,"es":164},"heberger-mattermost","host-mattermost-on-your-own-vps","استضافة-mattermost-على-خادم-vps-الخاص-بك","Alojar Mattermost en su propio VPS","Guía completa 2026: despliegue Mattermost v10\u002Fv11 en VPS con Docker, PostgreSQL, SSL, integraciones y copias de seguridad. Alternativa self-hosted a Slack.",9,2,"2026-04-05T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[177],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mattermost-poster.svg",{"categorySlug":25,"appSlug":35},{"id":181,"slug":182,"slugs":183,"title":187,"excerpt":188,"readTime":171,"views":189,"isPinned":19,"publishedAt":190,"updatedAt":174,"category":191,"categories":192,"featuredImage":30,"bgImage":31,"posterImage":194,"relatedSolution":195},77,"alojar-rocket-chat-en-un-vps",{"fr":184,"en":185,"ar":186,"es":182},"heberger-rocket-chat","host-rocketchat-on-your-own-vps","استضافة-rocketchat-على-خادم-vps-الخاص-بك","Alojar Rocket.Chat en su propio VPS","Instale Rocket.Chat en su VPS con Docker, MongoDB y SSL. Guía completa: omnicanal, administración, actualización, monitorización y SSO.",1,"2026-04-04T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[193],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-rocket-chat-poster.svg",{"categorySlug":25,"appSlug":196},"rocket-chat",{"id":198,"slug":199,"slugs":200,"title":204,"excerpt":205,"readTime":23,"views":18,"isPinned":19,"publishedAt":206,"updatedAt":207,"category":208,"categories":213,"featuredImage":30,"bgImage":31,"posterImage":215,"relatedSolution":30},304,"mattermost-vs-rocketchat-cual-elegir-en-2026",{"fr":201,"en":202,"ar":203,"es":199},"mattermost-vs-rocketchat-self-hosted-slack-2026","mattermost-vs-rocketchat-which-to-choose-in-2026","mattermost-أم-rocketchat-أيهما-تختار-في-2026","Mattermost vs Rocket.Chat: ¿cuál elegir en 2026?","Slack sube sus precios un 20 % en 2026: ¿Mattermost o Rocket.Chat? Dos arquitecturas radicalmente distintas y una comparativa concreta para elegir.","2026-08-26T00:00:00+00:00","2026-09-07T19:17:14+00:00",{"id":209,"name":210,"slug":211,"color":212,"icon":211},5,"Comparativas","comparatif","bg-info\u002F10 text-info",[214],{"id":209,"name":210,"slug":211,"color":212,"icon":211},"\u002Fblog\u002Fcovers\u002Fmattermost-vs-rocketchat-self-hosted-slack-2026-poster.svg",1789665027557]