Location>code7788 >text

Deploying MatterMost - Open Source Team Collaboration Platform

Popularity:510 ℃/2024-08-06 16:38:30

preamble

A previous post mentioned deploying MatterMost.

This article to document it.

About MatterMost

MatterMost is a bit of a collaboration tool like Slack, and the integration with GitLab is pretty good, and it just so happens that we've been using GitLab, so we deployed one to try it out.

MatterMost is an open source team collaboration and communication platform designed to provide businesses and organizations with a secure and controlled instant messaging solution. Compared with other instant messaging tools , MatterMost has the following significant features and advantages :

Open source and self-hosted

MatterMost is open source, which means that anyone is free to view, modify and extend its source code. Users have the option of self-hosting, which gives them complete control over their data and ensures the security and privacy of sensitive information. This is especially important for organizations with stringent data security requirements.

Multi-platform support

MatterMost supports multiple platforms, including Windows, macOS, Linux, iOS and Android, allowing users to use it seamlessly across devices. In addition, MatterMost offers a powerful web-based application that allows users to utilize all of its features without having to install client software.

Rich functionality

MatterMost offers a wide range of features to meet the needs of team collaboration, including:

  • instant messaging (IM): It supports one-to-one chat and group chat, so users can communicate in real time.
  • file sharing: Users can share files in conversations, supporting multiple file formats.
  • videoconferencing: Integrated video conferencing feature facilitates face-to-face communication among users.
  • Notifications and reminders: Flexible notification settings to ensure users don't miss important information.
  • search function: Powerful search function to help users quickly find the information and documents they need.

Integration and Scalability

MatterMost has a rich set of integration features that allow it to work seamlessly with a wide range of third-party applications and services, such as Jira, GitHub, Jenkins, and more. In addition, MatterMost provides a powerful API and plug-in system that allows developers to develop customized features to further extend its functionality according to their needs.

safety

Security is one of the core strengths of MatterMost. It provides multi-layered security measures including data encryption, Single Sign-On (SSO), Multi-Factor Authentication (MFA), Role and Privilege Management, etc. to ensure the security of user data.

Community and support

As an open source project, MatterMost has an active community where users can get help, share experiences and advice.MatterMost also provides commercial support services, and users can choose different levels of technical support and services as needed.

Deploy MatterMost

Official Documentation./install/#deploy-mattermost-on-docker-for-production-use

Here's how I deployed it

Pull the project down.

git clone /mattermost/docker
mv docker mattermost
cd mattermost

modifications.env configure

cp  .env

modificationsDOMAIN Just configure the domain name and change the rest as needed

Create a directory and set permissions

mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost

docker compose

After clone and the creation of several folders, the directory structure looks like this

matter-most
├── contrib
├── docs
├── nginx
├── scripts
├── volumes
├── 
├── 
├── 
├── 
├── 
├── LICENSE
└── 

This time, we didn't change the official compose configuration

Instead, it adds a new configuration of its own

Connecting mattermost services to swag's network

services:
  postgres:
    container_name: mattermost_pgsql
    networks:
      - default

  mattermost:
    container_name: mattermost
    ports:
      - ${CALLS_PORT}:${CALLS_PORT}/udp
      - ${CALLS_PORT}:${CALLS_PORT}/tcp
    networks:
      - default
      - swag

networks:
  default:
    name: mattermost
  swag:
    external: true

activate (a plan)

sudo docker compose -f  -f  up -d

Accessing GitLab SSO

This one's a bit of a toss-up

It's always prompting at first.The redirect URI included is not valid.

It took a long time to look up the information, but it's still solved

First of all, there is a problem with the documentation in MatterMost, which does not allow you to create GitLab apps in the user's personal settings.

Instead, you have to go into the GitLab admin backend and create a global application to enable SSO

And then the callback address I did add these two

/signup/gitlab/complete
/login/gitlab/complete

How did you find out? GitLab itself provides MatterMost integration, see the GitLab documentation for more information./ee/integration/mattermost/

Then after I enabled this feature in the configuration, GitLab automatically created the app for me, and then I turned it off again, but still used the app, and successfully implemented the ability to log into MatterMost using GitLab ......

wrap-up

It's a lot of work.

Actually found out that MatterMost's mobile app doesn't work with playbooks... kind of a bummer!

And then these kinds of team collaboration tools, maybe it's better to use a SaaS service.

I tried wekan later, and the interface just dissuaded me.

bibliography

  • /mattermost/mattermost/issues/18990
  • /t/the-redirect-uri-is-not-valid-during-oauth-on-on-new-gitlab-v8-2-2-omnibus-installation/633/2