La manera más fácil de instalar el servidor de mattermost es utilizar el repositorio oficial dockerizado, el cual está alojado en github (https://github.com/mattermost/docker). Para ello ejecutamos el siguiente comando:
git clone https://github.com/mattermost/docker
El comando creará una carpeta llamada docker que contendrá todos los docker compose necesarios para desplegar fácilmente el servidor.
Para desplegarlo en modo fácil, simplemente ejecutamos desde la carpeta docker:
docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
Así desplegamos el servicio, con la configuración por defecto y sin nginx. Vamos, un deplegado básico sin grandes aspiraciones
Para actualizar el servicio lo más fácil es replegar el servicio y volver a hacer un pull. Para ello hacemos un "down":
docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml down
No hay que preocuparse de nada, ya que no se perderán los datos, ya que si revisamos los yaml, veremos que el servicio funciona creando volúmenes persistentes, así que en cuanto recreemos el servicio volviendo a hacer un "up", recuperará las configuraciones previas. Pero antes de eso, es necesario actualizar las imagenes de los contenedores, para ello, primero hacemos:
docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml pull
y acto seguido, volvemos a levantar los contenedores con las versiones nuevas:
docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
Por último, indicar que editando el archivo docker-compose.yml, se puede forzar una versión concreta de mattermost, todo ello editando la línea que contiene la versión del contendor:
image: mattermost/${MATTERMOST_IMAGE}:${MATTERMOST_IMAGE_TAG}
reemplazamos por una versión estática:
image: mattermost/mattermost-team-edition
Desde el menú principal de Mattermost, opción Integrations (sólo visible si tu usuario es administrador o tiene los permisos apropiados), podemos hacer click en "Incoming Webhooks" y finalmente "Add Incoming Webhook". Ahí definimos nuestro webhook rellenado los campos:
Una vez dado click a grabar, se creará el nuevo webhook y junto a él se devolverá una url del tipo
<base_url>/hooks/m89su79xy7rdjmdxdn374xticc
Por último, para hacer un post utilizando el webhook montamos una petición http tipo POST al endpoint anterior, junto a un "Content-Type" tipo "application/json" como cabecera y un json dentro del body que sea {text: "Texto a enviar"}.
Una vez la llamada se realiza, inmediatamente aparece el mensaje en el canal correspondiente, como detalle es importante decir que el aparente autor del mensaje es el usuario que creo el webhook.
Última actualización: 2 de Octubre de 2023 a las 16:08 (CET)