Slack 오픈소스 프로젝트 Mattermost 란? Docker로 설치해보기.

Slack 오픈소스 프로젝트 Mattermost 란? Docker로 설치해보기.

안녕하세요. 달소입니다.

오늘은 앞서 seeart님께서 댓글로 설명해주신 Mattermost를 간단히 소개해드리고자 합니다.

이전에 소개해드린 트렐로/노션과 비슷한 Task 관리 프로젝트인 focalboard의 기능도 플러그인형식으로 포함하며 Slack 처럼 메신저를 기본베이스로 합니다.

서버포럼 - 트렐로/노션과 비슷한 오픈소스 Task 관리 프로젝트 focalboard
안녕하세요. 달소입니다. 오랜만에 회원님들께 소개시켜드릴만한 좋은 프로젝트를 발견해서 공유드립니다. 아마 트렐로나 노션같은 프로젝트를 관리하는 툴들을 사용해보셨다면 아래와 같은 UI가 익숙하실텐데요. 놀...

Mattermost란?

Mattermost는 도구와 팀 간의 안전한 커뮤니케이션, 협업 및 작업 오케스트레이션을 위한 오픈 소스 플랫폼입니다.

기본적으로 Slack과 비슷한 채널형식의 채팅어플을 표방하고있으며 기타 플레이북, 보드등도 제공합니다.

Slack과의 차이점이라면 Slack의 경우 유료플랜을 사용하더라도 데이터가 모두 Slack에서 가지고있다면 Mattermost는 자체호스팅을 할 수 있기때문에 기업에서 사용하더라도 채팅 데이터 및 파일을 보관할 수 있다는 장점이 있습니다.

Mattermos 가 오픈소스 프로젝트이기는 하나 프로젝트의 유지 운영을 위해서 유료플랜역시 존재합니다.
기업에서 사용하시는 경우 이러한 점들을 고려해서 도입하시면되겠습니다.

기본적으로 무료플랜도있으나 사용자수에따른 유료플랜역시 존재합니다

Professional부터 가겨이 상당하긴하네요

기본적인 채팅이나 보드같은기능은 무료 라이선스에서도 사용가능하나 게스트 계정 , 2FA인증 기타 추가기능등을 사용하기위해서는 프로페셔널 이상의 라이선스를 사용하셔야합니다.

개인적으로는 Enterprise의 Elasticsearch 연동도 궁금하네요

개인 홈서버 환경에서는 유료플랜까지는 사용할 필요가없기때문에 간단히 무료플랜으로 구축을진행해보겠습니다.

자체 구축용이니만큼 여러 기업들에서 사용하고있는데요.
Ubuntu 프로젝트의 캐노니컬, 퀄컴, 나사, 삼성등등 눈에 띄네요

소개는 이정도면 충분할듯 하니 Docker에서 직접 설치해서 써보겠습니다

Docker로 mattermost 설치하기

git clone https://github.com/mattermost/docker
cd docker
cp env.example .env

이 .env 파일을 vi 편집기로 들어가면 아래처럼 내용이 있습니다.

여기서 image 선택, DOMAIN, TZ, POSTGRES 설정등을 변경할 수 있습니다.
이미지 태그나 라이선스 관련은 아래 항목인데 사용 라이선스에 따라 enterprise-edition과 team-edtion으로 나뉘어져있습니다. 저같은경우 개인이기때문에 팀에디션으로 변경했습니다.

MATTERMOST_IMAGE=mattermost-enterprise-edition
MATTERMOST_IMAGE_TAG=5.36

enterprise -> team

환경변수를 모두 수정하셨으면

아래 명령어로 디렉터리 생성 및 권한을 부여합니다.

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

파일들은 아래 경로에 저장된다고 보시면됩니다.

이제 nginx 사용버전 이나 reverse proxy를 사용하는 버전이있는데 여기서는 reverse proxy 버전으로 진행하겠습니다.(nginx 포함버전은 글 최하단의 github를 참고해주세요)

sudo docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d

s

컨테이너가 생성되면 docker ps 명령어나 portainer를 통해 확인하실 수 있습니다.

이제 ip:8065포트로 접속해주고 관리자 계정을 생성합니다.

계정이 생성되면 팀도 만들어줘야 사용이 가능합니다

팀을만들면 url 뒤에 /팀이름이 붙게되며 연결 후 프로필부터 작성할 수 있습니다

플러그인도 꽤나 많이지원합니다.

기타설정들은 admin console쪽을 확인해주시면됩니다.

여기서 사용하시는 도메인에 따라서 NPM으로 리버스프록시를 사용하면 외부에서도 잘 접속가능합니다.

대부분의 플랫폼에서도 앱을 지원하니 설치하시어 사용하시면되겠습니다.

GitHub - mattermost/docker: Redesigned mattermost-docker
Redesigned mattermost-docker. Contribute to mattermost/docker development by creating an account on GitHub.