DockerでMattermostサーバーを立てる
自前のサーバーでSlack, Hipchat系のチャットサービスを使いたいと思った時に。Golang製。
立ててみる
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。日本のスタートアップ企業でも圧倒的シェアを誇っています*1。
Slackではできるけど現段階のバージョンでのMattermostでできないこと。
- slackbotみたいな存在がない。
- snippet, postを貼れない。
- htmlを入力してもogが表示されない。
- スラッシュコマンドが乏しい。
- Androidネイティブアプリがまだ正式リリースされていない。
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イメージを削除して立ち上げ直しました。