Saltar al contenido

Categoría: Desarrollo

Mattermost gestionado: chat del equipo técnico en vuestros servidores

Los canales, los mensajes directos y los avisos de vuestros pipelines en una herramienta que vive en vuestra infraestructura, con copias que restauramos y actualizaciones que no os pillan por sorpresa.

Dónde se monta
En vuestra cuenta, a vuestro nombre
Copias
Con restauración probada
Actualizaciones
Planificadas y documentadas
Licencia
Código fuente AGPLv3; binarios oficiales MIT. Ediciones de pago: comercial

En resumen

Mattermost es una plataforma de mensajería para equipos, alternativa autoalojada a Slack, con canales, mensajes directos, integraciones y aplicaciones de escritorio y móvil. La instalamos en vuestra cuenta o en vuestros servidores con PostgreSQL y almacenamiento de archivos, la conectamos con vuestras herramientas, hacemos copias que restauramos en pruebas y la mantenemos al día. También os ayudamos a elegir la edición.

¿Qué nos encargamos de mantener?

El chat del equipo se convierte en una herramienta crítica sin que nadie lo decida: ahí llegan las alertas, se coordinan los despliegues y se toman decisiones. Si Mattermost se cae o pierde un mes de mensajes, se nota enseguida. Esto es lo que dejamos bajo control:

  • Servidor

    Mattermost con su configuración en el repositorio y el dominio a vuestro nombre.

  • Base de datos

    PostgreSQL ajustado, con copias que restauramos en pruebas.

  • Adjuntos

    Archivos en disco o en S3, con su propia copia y límites de tamaño.

  • Integraciones

    Webhooks, bots y comandos para GitLab, CI y avisos de monitorización.

  • Accesos

    HTTPS, cuentas revisadas y permisos ajustados a cada equipo.

  • Versiones

    Actualizaciones al ritmo de las versiones con soporte, probadas antes.

¿Cómo lo montamos?

Para la mayoría de equipos técnicos basta con un servidor de aplicación bien dimensionado. Lo que importa es separar los datos y poder reconstruirlo:

  1. Servidor de aplicación

    Mattermost como servicio del sistema o en contenedor, con su configuración guardada fuera.

  2. PostgreSQL

    En el mismo servidor para equipos pequeños, o en la base de datos gestionada del proveedor cuando existe.

  3. Adjuntos

    En un almacenamiento compatible con S3 para que el servidor se pueda sustituir sin mover archivos.

  4. Proxy inverso

    Nginx o Traefik con HTTPS y WebSocket, delante de todo.

Si usáis las llamadas de voz, abrimos además el puerto que necesita su servidor de medios y lo probamos desde fuera de la red de la oficina.

¿Qué problemas encontramos más a menudo?

  • Copia solo de la base de datos: los adjuntos se quedaron fuera y nadie lo comprobó.
  • Versión fuera de soporte: deja de recibir correcciones de seguridad y cada mes cuesta más ponerse al día.
  • WebSocket mal configurado en el proxy: los mensajes no llegan en tiempo real y el equipo culpa a la aplicación.
  • Disco lleno de adjuntos sin límite de tamaño ni política de retención.
  • Webhooks entrantes sin control: cualquiera con la URL puede publicar en un canal.
  • Edición equivocada: se descubre tras la instalación que la función que se quería es de pago.

¿Cómo hacemos las copias y las actualizaciones?

Copiamos cada día la base de datos de PostgreSQL y los adjuntos por separado, y guardamos también el archivo de configuración. Periódicamente restauramos todo en un servidor aparte y comprobamos que se puede entrar, leer canales y abrir archivos; el tiempo que tarda va al informe.

Mattermost publica versiones con frecuencia y mantiene algunas con soporte extendido (ESR). Elegimos con vosotros a qué ritmo queréis ir, leemos las notas de cada versión, ensayamos con una copia cuando hay cambios en la base de datos y actualizamos en una ventana avisada. Antes de cada actualización hacemos una copia fresca.

¿Para quién tiene sentido?

  • Un equipo técnico que quiere sus conversaciones y adjuntos en su propia infraestructura, por política interna o por exigencias de un cliente.
  • Una empresa que ya autoaloja su Git y su CI y quiere que los avisos de despliegues e incidencias lleguen a un chat del mismo entorno.
  • Quien sale de Slack y quiere conservar parte del historial.

Mattermost encaja bien junto a GitLab self-hosted o Gitea, y con Keycloak si la edición que elijáis admite inicio de sesión único.

Cómo encajan las piezas
  1. ClientesWeb, escritorio y móvil
  2. Proxy inversoHTTPS y WebSocket
  3. MattermostServidor de aplicación
  4. PostgreSQLMensajes y configuración
  5. AlmacenamientoAdjuntos en disco o S3

¿Dónde lo montamos?

En vuestra cuenta, en el proveedor que ya uséis o en el que mejor encaje. Si los datos tienen que quedarse en la UE, Hetzner y OVHcloud son las opciones europeas.

Proveedores en los que lo montamos

  • Hetzner
  • AWS
  • Google Cloud
  • Azure
  • DigitalOcean
  • OVH
  • Servidor propio
ProveedorCómo lo montamosA tener en cuenta
HetznerUn servidor cloud con Mattermost y PostgreSQL, adjuntos en Object Storage de Hetzner y copias en otra ubicación.Un servidor modesto da para un equipo técnico; lo que más crece son los adjuntos.
AWSMattermost en EC2, RDS for PostgreSQL y S3 para los adjuntos.
Google CloudCompute Engine y Cloud SQL para PostgreSQL, con los adjuntos en disco o en un almacenamiento compatible con S3.
AzureMáquina virtual y Azure Database for PostgreSQL, con los adjuntos en disco o en un almacenamiento compatible con S3.
DigitalOceanDroplet con Mattermost, PostgreSQL gestionado y Spaces para los adjuntos.
OVHInstancia de Public Cloud, base de datos gestionada de OVHcloud y Object Storage para los adjuntos.
Servidor propioMattermost y PostgreSQL en vuestro servidor o en una máquina virtual.Si solo se usa en la oficina, lo dejamos detrás de la VPN; para el móvil fuera de ella, publicamos solo el proxy.

Qué incluye

  • Mattermost en vuestra cuenta cloud o en vuestro servidor, con vuestro dominio y la configuración en vuestro repositorio.
  • PostgreSQL como base de datos, con copias independientes de las de los archivos.
  • Archivos adjuntos en disco o en un almacenamiento de objetos compatible con S3.
  • Proxy inverso con HTTPS y WebSocket, y acceso de las aplicaciones de escritorio y móvil.
  • Integraciones con GitLab, Gitea, CI y alertas: webhooks entrantes y salientes, comandos de barra y bots.
  • Copias diarias de base de datos y archivos, con restauración de prueba periódica.
  • Métricas de disponibilidad, base de datos, disco y certificados, con alertas.
  • Actualizaciones según el calendario de versiones de Mattermost, probadas antes en una copia.

Preguntas frecuentes

¿Qué edición de Mattermost necesitamos?

Depende del tamaño del equipo y de lo que necesitéis. Team Edition es gratuita y está pensada para equipos pequeños. Entry también es gratuita, con licencia comercial y límites de uso. Las ediciones de pago añaden funciones como el inicio de sesión único, y Enterprise la alta disponibilidad en clúster. Revisamos con vosotros las condiciones vigentes antes de instalar, porque cambian entre versiones.

¿Podemos traer el historial de Slack?

Mattermost documenta una migración desde Slack: se parte de una exportación de Slack, se convierte con su herramienta mmetl y se importa con mmctl. La ensayamos antes en una instancia aparte y revisamos juntos qué ha llegado y qué no antes de hacerla en producción.

¿Funcionan las llamadas de voz?

Sí, con el complemento de llamadas de Mattermost. Su servidor de medios necesita el puerto 8443 abierto directamente, por UDP y con TCP como respaldo, sin pasar por el proxy inverso. Lo configuramos y lo probamos desde fuera de la red de la oficina.

¿Se puede montar en alta disponibilidad?

El despliegue en clúster con alta disponibilidad es de la edición Enterprise. Con las ediciones gratuitas lo que hacemos es un servidor bien vigilado, copias frecuentes y un procedimiento de reconstrucción ensayado, de modo que una caída se traduce en un corto rato sin chat y no en pérdida de mensajes.

Contadnos vuestro caso

En una llamada gratuita de 20 minutos vemos dónde estáis y por dónde empezar. Sin compromiso.

Reservar llamada de 20 minutos

Documentación oficial consultada

Los datos técnicos de esta página se basan en:

Revisado el

WhatsApp