슬랙 같은 바이오스 OSS 채팅 로켓.메시지 설치

추기) 2016/08/22


atmarkIT에 연재가 있는 것 같습니다.

개시하다


환경, 버전 정보


$ uname -a
Linux solydxk 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) x86_64 GNU/Linux
$ docker -v
Docker version 1.6.2, build 7c8fca2
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
rocketchat/rocket.chat latest 0cae0d783df5 2 days ago 422.1 MB

Rocket.메시지


meteor제 채팅 소프트웨어입니다.
BYOS이기 때문에 직접 설치하고 시작해야 합니다.
그야말로 슬랙처럼 거의 슬랙의 UI다.
슬랙, 힙채트, 채트워크를 사용하고 싶지만, 심상치 않은 일들이 내부 네트워크 안에 구축되어야 할 때, 로켓.메시지는 선택 사항일 수 있습니다.
다음은 README에서 발췌한 것입니다.

Features


Current

  • BYOS (bring your own server)
  • Multiple Rooms
  • Direct Messages
  • Private Groups
  • Public Channels
  • Desktop Notifications
  • Mentions
  • Avatars
  • Markdown
  • Emojis
  • Transcripts/History
  • I18n - Internationalization with Lingohub
  • Hubot Friendly - Hubot Integration Project
  • Media Embeds
  • Link Previews
  • LDAP Authentication - LDAP Authentication on Rocket.Chat Wiki
  • Face to Face Video Conferencing aka WebRTC signalling (Alpha)
  • 몰입하네.
    알파라지만 화상채팅도 해야 한다.
    LDAP와 협력할 수 있으면 내부 네트워크로서 높은 포인트가 있을 수 있습니다.

    기타 OSS의 BYOS Chat 어플리케이션(7/120:40 조사)


    이름:
    URL
    Framework
    Github Stars
    Initial Commit
    Last Commit (master)
    DevHub
    https://github.com/volpe28v/DevHub
    nodejs, socket.io
    98
    Jan 29, 2012
    Jul 1, 2015
    Let's Chat
    https://github.com/sdelements/lets-chat
    nodejs, socket.io, python
    6882
    Feb 26, 2012
    Jul 11, 2015
    Kadan
    https://github.com/kandanapp/kandan
    rails
    2648
    Mar 4, 2012
    May 8, 2015
    MogoChat
    https://github.com/HashNuke/mogo-chat
    elixir, phoenix, ember.js
    692
    Jan 12, 2014
    Apr 12, 2014
    Rocket.Chat
    https://github.com/RocketChat/Rocket.Chat
    nodejs, meteor
    2578
    May 17, 2015
    Jul 10, 2015
    보내봤는데 비슷한 OSS가 몇 개 있는 것 같았어요. 특히 Let's Chat의 안전타가 많았어요.
    아무 것도 안 써봐서 비교가 안 돼...
    Let's Chat은 정보가 많다는 점을 고려하면 가장 안전한 선택일까.
    한쪽 로켓.최근에야 부친 편지는 이미 2500스타즈가 넘었다.
    스타즈가 전부라고 할 수는 없지만 기세를 느꼈다.
    먼저 기회를 타보고 싶어서 로켓.정보를 설치해 보았습니다.

    Docker 작업


    READMEdocker pull rocketchat/rocket.chat 이렇게 간단하게 쓰여있어요.
    그렇긴 한데, 로켓.메시지를 이동할 수 없습니다.
    시작할 때의 오류 내용
    yasuhiroki@solydxk ~ $ docker run rocketchat/rocket.chat
    => Starting meteor app on port:80
    
    /built_app/programs/server/node_modules/fibers/future.js:245
                            throw(ex);
                                  ^
    Error: MONGO_URL must be set in environment
        at Object.<anonymous> (packages/mongo/remote_collection_driver.js:36:1)
        at Object.defaultRemoteCollectionDriver (packages/underscore/underscore.js:750:1)
        at new Mongo.Collection (packages/mongo/collection.js:98:1)
        at packages/accounts-base/accounts_common.js:141:1
        at /built_app/programs/server/packages/accounts-base.js:243:4
        at /built_app/programs/server/packages/accounts-base.js:1659:3
        at /built_app/programs/server/boot.js:222:10
        at Array.forEach (native)
        at Function._.each._.forEach (/built_app/programs/server/node_modules/underscore/underscore.js:79:11)
        at /built_app/programs/server/boot.js:117:5
    
    보시다시피 MongodB의 URL이 필요합니다.
    오랜만에 Mongodb 서버도 Docker로 만들었죠.
    MongodB 컨테이너 만들기
    yasuhiroki@solydxk ~ $ docker pull mongo
    yasuhiroki@solydxk ~ $ docker run -v ~/rocketchat-mongodb:/data/db --name rocketchat-db mongo
    
    docker run rocketchat/rocket.chat MongoDB의 데이터를 지속적으로 실행하도록 설계되었습니다.-v ~/rocketchat-mongodb:/data/db가 없으면 자동 제작이 가능합니다.
    자세한 내용은 Docker의 Dock uments를 참조하십시오.
    https://docs.docker.com/userguide/dockervolumes/ ~/rocketchat-mongodb에 명명된 것은 다음에 Docker 컨테이너의 링크 기능을 사용하는 것이다.
    그럼 이번엔 꼭 로켓.메시지를 시작합니다.
    Rocket.메시지 컨테이너 만들기
    yasuhiroki@solydxk ~ $ docker pull rocketchat/rocket.chat
    yasuhiroki@solydxk ~ $ docker run --name rocketchat --link rocketchat-db:rocketchat -e MONGO_URL=mongodb://rocketchat-db:27017 -e ROOT_URL=http://localhost -p 55555:80 rocketchat/rocket.chat
    
    --name rocketchat-db에서 방금 제작된 몬goDB 용기와 링크합니다.
    컨테이너 링크는 Docker의 Doctors를 참조하십시오.
    https://docs.docker.com/userguide/dockerlinks/
    링크를 통해 --link rocketchat-db:rocketchat 과 몬goDB의 용기 이름으로 지정할 수 있습니다.-e MONGO_URL=mongodb://rocketchat-db:27017에는 Port Forwarding이 설치되어 있습니다.이 설정을 통해 localhost:5555에서 로켓입니다.메시지에 액세스할 수 있습니다.
    대신 -p 55555:80-P도 포트포워드를 설정할 수 있다.Docker에서 적절한 Port를 할당합니다.나의 환경은-p 80이다.32770와 같습니다.
    자세한 내용은 Docker의 Dock uments를 참조하십시오.
    https://docs.docker.com/userguide/usingdocker/#running-a-web-application-in-docker
    또한 Proxy 환경에서 필요할 수 있습니다-p 32770:80.

    방문


    그 다음엔 방문일 뿐입니다.
    먼저 말씀드리지만, 때로는 무거울 수도 있습니다.
    곤경에 처했을 때 브라우저를 닫고 다시 열면 대체로 개선된다...

    앞머리



    등록!


    계정 등록



    여기에 등록된 메일 주소는 이후Gravatar에서 가상 이미지를 가져올 때도 사용됩니다.

    사용자 이름 등록



    여기에는 다음 화면으로 이동하는 것이 매우 느릴 때가 있다.
    Proxy 설정이 컨테이너에 반영되지 않았을 수도 있고 Timeout일 수도 있습니다.
    Rocket.Chat 시작 시 추가-e "http_proxy=<HTTP_PROXY>" -e "https_proxy=<HTTPS_PROXY>"를 고려하십시오.

    아바타 선택



    등록 완료



    탑화면으로 잘 옮기면 OK야.

    최후


    Docker로 설치하여 계좌 등록에 이르는 절차를 총괄하였다.
    물론 meteor를 직접 설치하고 몬godB를 준비하며 구축하면 프로그램이 이동할 것이다.
    다만, nodejs와meteor를 잘 모르는 사람에게는 어쨌든 움직이기만 하면 Docker는 사소한 설정에 신경 쓰지 않기 때문에 가볍다.
    그나저나 meteor 명령이라면
    meteor로 이동
    curl https://install.meteor.com/ | sh # Install Meteor
    git clone https://github.com/RocketChat/Rocket.Chat.git
    cd Rocket.Chat
    meteor
    
    이동합니다.
    스스로 설정을 잘 관리하고 싶다면 이게 좋을 것 같아요.
    나는 잠시 움직였기 때문에 기회를 찾아 사용해 보려고 한다.

    잡담


    그나저나 로켓.Chat의 Docker file은 ↓입니다.
    https://github.com/RocketChat/Deploy.to.Cloud/blob/master/OfficialImage/Dockerfile
    Docker Hub에서 찾을 수 없어서 좀 곤란해요...

    좋은 웹페이지 즐겨찾기