LINUX

slcak을 대체할 협업 툴 mattermost 설치해보기(docker이용)

Ambitions 2020. 7. 1. 17:23

현재 회사에서는 slack을 사용하고 있었는데, slack의 유료화 이슈 떄문에 대체할만한 프로그램을 찾고있었는데, 마침 슬랙과 비슷한 UI를 가지고 있으면서 데이터는 서버에 쌓이게 되는 mattermost라는 프로그램을 찾게 되었다.

바로 상부에 제안을 드렸더니 설치해서 도입해봐도 좋다는 답변이 나와서 회사 개발서버에 mattermost를 설치해보았다.

 

처음에는 docker없이 설치해보려고 했으나, 너무 복잡해서 먼저 docker를 설치했다. docker설치는 매우 쉽다.

회사 개발서버는 centos 7이고 우분투의 경우는 동일하게 진행해도 무방하다.

사실 mattermost 가이드문서만 봐도 설치할 수 있다. 그래서 가이드 문서를 보고 진행하실분들은 아래 링크에서 보고 따라하시면 되겠다. (ubuntu 쪽 설치방법을 읽으면서 따라하면 된다.)

https://docs.mattermost.com/install/docker-local-machine.html#one-line-docker-install

 

Local Machine Setup using Docker — Mattermost 5.24 documentation

The following instructions use Docker to install Mattermost in Preview Mode for exploring product functionality on a single machine. Note: This configuration should not be used in production, as it uses a known password string, contains other non-productio

docs.mattermost.com

먼저 docker가 설치되어 있지 않다면 다음 명령어를 실행시켜준다.

sudo apt-get update
sudo apt-get install wget
wget -qO- https://get.docker.com/ | sh
sudo usermod -aG docker <username>
sudo service docker start
newgrp docker

위 명령어를 실행하면 패키지관리자 업데이트부터 도커설치부터 시작해주기 떄문에 사실 별로 어려울것도, 할 일도 없다.  그리고 다 실행된 것 같으면 다음명령어를 실행시켜서 docker가 실행중인지 확인

ps -ef | grep docker

정상 실행중인걸 확인했으면 바로 다음 명령어를 실행시키면 mattermost 설치는 끝이다.

docker run --name mattermost-preview -d --publish 8065:8065 --add-host dockerhost:127.0.0.1 mattermost/mattermost-preview

위 명령어를 실행하기 전 주의할점은 8065포트를 사용하고 있는지 확인해야한다. (보통은 사용하지 않는 경우가 많겠지만..) 그래서 다음 명령어로 확인해준다.

 netstat -anp | grep LISTEN  // 사용중인 포트 모두표시
 netstat -anp | grep 8065 // 8065 포트 사용중인지 확인 LISTEN이 나오면 사용중인 것

확인 후 이상이 없다면 진행하면 되고, 아닌경우에는 --publish 8065:8065를 원하는 포트번호로 바꾸고 진행하면된다.

이후 설치가 완료되면 url에 localhost:포트번호를 입력하면 다음화면이 뜬다.

+ 추가적으로 mattermost를 서비스로 등록하고 서버가 시작 될 떄 실행되게 하려면 다음 과정을 수행하면 된다.

$) cd /etc/systemd/system // 해당경로에 service 파일을 만들어줘야한다.
$) vi mattermost.service // vi 편집기를 이용하거나 filezila를 이용해 다음 내용을 넣어준다.

[Unit]
Wants=docker.service
After=docker.service

[Service]
RemainAfterExit=yes
ExecStart=/usr/bin/docker start mattermost-preview
ExecStop=/usr/bin/docker stop mattermost-preview

[Install]
WantedBy=multi-user.target

$) systemctl enable mattermost.service// 매터모스트 서비스등록
$) systemctl start mattermost // 서비스시작
$) systemctl status mattermost // 매터모스트 서비스 상태 확인

여기서 관리자 계정을 생성하고, 이용하면된다. 이후 url설정이나 여러가지 부분이 있긴하지만 나의 경우에는 서브 메신저로 사용하려고 설치했기때문에 그 부분은 따로 설정하지 않았다. 그리고 slack과 유사한 부분(똑같은) 많기 떄문에 slack을 사용했었다면 문제 없이 사용할 수 있을 것이라고 생각한다.

아직 도입한지 며칠안되었기 떄문에 사용자들의 평가는 추후 더 포스팅 할 예정이다.

 

[2020.7,22 후기] 

사내에서 불편함 없이 사용하고있고, slack과 매우 유사한 UI덕분에 사용하는데 불편함을 못느끼고 있고, 데이터가 사내서버에 저장된다는 것도 좋은장점으로 작용하는 것 같다. 앞으로 큰 이슈가 없다면 쭉 mattermost를 이용할 것 같다.