グループチャットツールのSlackを使ったことはあるでしょうか?Slackクローン的なオープンソースツールでMattermostというものがあります。試してみようと思いインストールしてみました。
MattermostとSlackの違い
MattermostもSlackも無料で使い始めることができます。どちらも、無料版では機能に制限がかかるのは同じですが、Mattermostはオンプレミス版をインストール可能という点が大きく異なります。
Slackは、データをダウンロードできるとしても基本的にはインターネット上のSlackのサーバーでしか使えません。Mattermostはローカル環境で使用することができるので、インターネットにつながなくても使うことができます。(アップデートやインストールにはインターネットが必要です)
MattermostのDockerイメージ
dockerhubに公式イメージがたくさん上がっているのですが、公式サイト上ではほぼ使い方が指南されていません(笑
一つだけmattermost/mattermost-previewというイメージの使い方だけ解説されています。
docker run --name mattermost-preview -d --publish 8065:8065 --add-host dockerhost:127.0.0.1 mattermost/mattermost-preview
データベースもウェブサーバーも全部入りなmattermost-previewイメージを使えば、簡単に試すことができます。ただ、ちょっといろいろ不安になるので普通にインストールしたいところです。
preview以外のイメージ
- mattermost-enterprise-edition
- mattermost-team-edition
が現行の公式イメージで、500万、100万以上のダウンロードがあるようです。が、使い方のドキュメントが見つけられないので、よくわかりません。
Gitでインストール
Dockerを使うのは同じですが、dockerhubで配布されているイメージファイルを使用するのではなく、githubからダウンロードしてdockerfileを使って作る方法が公式サイトで紹介されています。
こちらをやって、途中何回か躓きましたが最終的にはうまく行きました。
コマンド
sudo apt-get install git git clone https://github.com/mattermost/mattermost-docker.git cd mattermost-docker docker-compose build mkdir -pv ./volumes/app/mattermost/{data,logs,config,plugins,client-plugins} sudo chown -R 1000:1000 ./volumes/app/mattermost/ docker-compose up -d
権限がない
ファイルを作成する権限がないと言ってくることがあります。フォルダには権限が付与してあるはずなのですが、エラーになってしまいます。
エラーの原因は、dockerfileでユーザーIDとグループIDを2000:2000に設定しているので、実行時ユーザーが他のIDだとダメっぽい感じです(?)
docker-composeでargs部分をコメントアウトすると正常に動きました。
# uncomment following lines for team edition or change UID/GID args: # - edition=team - PUID=1000 - PGID=1000 # - MM_VERSION=5.31
ポートの設定
他のサイトを見ながら、ポートの設定を触っていたらはまりました。標準では、
ports: - "80:8080" - "443:8443"
と書かれていますが、あちこちを見るとポート番号を別のものを書いていて、8081にするとか書いてあったところもありました。
こちらでは、80:80とかで設定していました。(同じもののインストールではないです)
標準の書き方は???
標準で書かれているポートは、コンテナ上の8080を80として公開、8443を443として公開、です。・・・・!?
githubから作ったMattermostのDockerコンテナは、ウェブサーバーが8080、8443だったのです・・・。
標準に戻して、http://<IPアドレス>で設定画面が開きました。
これに気づくのに、何時間かかったんだろう・・・
コメント