備忘録 blog

Docker/Machine Learning/Linux

DockerでMattermostサーバーを立てる

自前のサーバーでSlack, Hipchat系のチャットサービスを使いたいと思った時に。Golang製。

Mattermost

立ててみる

Local Machine Setup and Upgrade — Mattermost 2.0 documentation

docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform

http://localhost:8065/にアクセス。それ以後は一回立てた後はこれでOK。

docker start mattermost-dev

他のチャットサービスとの比較

slack

slack.com

みんな大好きSlack。日本のスタートアップ企業でも圧倒的シェアを誇っています*1

Slackではできるけど現段階のバージョンでのMattermostでできないこと。

  • slackbotみたいな存在がない。
  • snippet, postを貼れない。
  • htmlを入力してもogが表示されない。
  • スラッシュコマンドが乏しい。
  • Androidネイティブアプリがまだ正式リリースされていない。

Rocket.Chat

デモは以下。

Rocket.Chat

こちらはjsフレームワークのMeteor製。Meteorには割と注目しているのだが、若干洗練されていないデザインであるという印象。

トラブルシューティング

このサーバーで実際に複数人が接続して試してみたときの備忘録です。

  • 他のユーザーが登録できない!
    • 最初のユーザーはteamを作るときに登録できますが、そうでないユーザーはチームの画面に行ってもsign upできずに何もできません。実は招待urlから入るしかないので、最初のユーザーはメニューからInviteを選択しましょう。
  • 最新版にアップデートしたい!
    • 公式ドキュメントによれば、これはPreview版にすぎないため一度dockerイメージを削除してからpullするしかないようです。もちろんデータは全部消えてしまいます。
  • 日本語のUIがない
    • Slackも同じなのでがんばりましょう。
  • Admin Consoleでユーザーの権限を誤ってSystem_adminから格下げしてしまった!
    • これを一度してしまうと、System_adminでないとユーザー権限を変更できないので、二度とAdmin Consoleにログインできなくなり、設定を戻せなくなって詰みます。

しかも、docker内にはplatformというバイナリがあって、それを用いて本来はユーザーの権限が変更できそうなのですが、docker execで中に入ってバイナリを実行しようとしても動かなくなります。というわけで、一度dockerイメージを削除して立ち上げ直しました。