핫한지 한참 된 slack https://slack.com/ 이란 채팅 서비스가 있는데,

* 내가 사랑하는 제품 실랙(Slack) http://sungmooncho.com/2015/05/21/slack/

 

이런 서비스나 프로그램을 이용하면 내가 접속하는 IRC 서버 이용 불가 상태일 때 활용 가능하지 않을까 싶어 직접 설치해서 사용할 수 있는 BYOS (bring your own server) 방법이 있는지 검색해보니 아래 글을 발견

http://opensource.com/business/15/9/alternatives-slack-team-chat

  1. IRC
  2. Let's Chat http://sdelements.github.io/lets-chat/
  3. Mattermost http://www.mattermost.org/
  4. ROCKET.CHAT https://rocket.chat/

2-4번은 설치형 웹 채팅인듯 한데, IRC를 제외한 세 개는 다 docker 설치를 지원.

github의 Watch, star, fork 수를 고려할 때 Let's Chat, ROCKET.CHAT, Mattermost 순으로 인기가 있는 듯 하다.

 

Let's Chat은 docker로 설치하려 하니 mongodb랑 링크 ( --link ) 하는 부분이 있어서 포기(docker를 잘 모른다)

Mattermost를 docker 설치하니 그냥 잘 되어서 일단 써봄

 

IRC랑 Mattermost 를 연결하려면 봇을 보내놓고 채팅을 서로 가져오고 보내야 함. 그 기능은 Matterbridge https://github.com/42wim/matterbridge 를 사용해야 함.

 

 

삽질을 안하려면

anyenv https://github.com/riywo/anyenv 로 goenv 설치,

goenv install 1.3

쉘에서 $GOPATH 설정(예를 들면 export GOPATH=~/gocode

go get github.com/42wim/matterbridge
~/gocode/bin 에 matterbridge 실행파일 생성, matterbridge.conf 파일을 같은 경로에 두고 실행
 

이하는 Matterbridge 설치 삽질기

1. Matterbridge는 go 1.2.1에서 컴파일 할 수 없었다(우분투 14.04 golang은 1.2.1이 기본, 1.3도 있긴 함)

2. Matterbridge github에서 리눅스용 바이너리는 링크가 깨져있음.

3. 직접 컴파일 하려니 뭔가 계속 안됨. golang에 대한 지식이 전혀 없었음(이름만 알고 있었지 컴파일 필요한건 처음 알았음)

4. 우분투 14.04 golang은 1.2.1 이라 github.com/thoj/irc.go 425라인 tls.DialWithDialer 관련 에러가 발생

5. 우분투 golang 패키지 버전을 aptitude에서 1.3으로 지정해서 설치 일단 실패. 아마 1.2.1 버전 사용할 때 golang pkg를 만든 것들이 있어서 그런듯 하다. 1.2.1에서 컴파일 했던 것들을 지웠어야 함.

6. anyenv를 알게 되어 goenv로 1.3 환경 만들고 $GOPATH 설정 후 go get github.com/42wim/matterbridge 로 설치 완료

 

 

Mattermost 와 IRC간 채팅을 위한 설정 방법

Mattermost 에서 설정

관리자 계정에서 System Console - Service Setting

이하의 옵션을 true(기본값은 false)로 설정 후 저장

  • Enable Incoming Webhooks
  • Enable Outgoing Webhooks
  • Enable Overriding Usernames from Webhooks

다시 채널로 이동 후 Account settings 열어보면 없던 Integrations 항목이 있음.

Incoming, Outgoing Webhooks 를 추가해줌.

Outgoing은 Matterbridge에서 여는 포트를 적어줘야 함.

 

Matterbridge.conf 설정

접속할 IRC 서버/채널 설정

incomingwebhookkey 입력

outgoing token 입력, outgoing 포트 입력

 

 

이렇게 삽질을 하고 뿌듯해 하는데 옆에서 아내는 네이버 band 채팅을 웹브라우저에서 하고 있었다.

...Aㅏ... IRC 같은거 고집하는 공돌 개발자 AUT!!

그냥 band 쓰면 되는거였던 것이다 O<-<

 

 

번외

https://www.quora.com/What-is-a-good-alternative-to-HipChat

Slack이나 Hipchat 비슷한걸 원하는 사람은 위 링크를 참조하면 될듯..

+ Recent posts