Mattermostをdockerでインストール【Ubuntu 20.04】

グループチャットツールのSlackを使ったことはあるでしょうか?Slackクローン的なオープンソースツールでMattermostというものがあります。試してみようと思いインストールしてみました。

MattermostとSlackの違い

MattermostもSlackも無料で使い始めることができます。どちらも、無料版では機能に制限がかかるのは同じですが、Mattermostはオンプレミス版をインストール可能という点が大きく異なります。

Slackは、データをダウンロードできるとしても基本的にはインターネット上のSlackのサーバーでしか使えません。Mattermostはローカル環境で使用することができるので、インターネットにつながなくても使うことができます。(アップデートやインストールにはインターネットが必要です)

MattermostのDockerイメージ

dockerhubに公式イメージがたくさん上がっているのですが、公式サイト上ではほぼ使い方が指南されていません(笑

https://docs.mattermost.com/install/docker-local-machine.html

一つだけ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を使って作る方法が公式サイトで紹介されています。

https://docs.mattermost.com/install/prod-docker.html

こちらをやって、途中何回か躓きましたが最終的にはうまく行きました。

コマンド

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とかで設定していました。(同じもののインストールではないです)

https://note.moritetu.xyz/wiki/Mattermost%E3%82%92Docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

標準の書き方は???

標準で書かれているポートは、コンテナ上の8080を80として公開、8443を443として公開、です。・・・・!?

githubから作ったMattermostのDockerコンテナは、ウェブサーバーが8080、8443だったのです・・・。

標準に戻して、http://<IPアドレス>で設定画面が開きました。

これに気づくのに、何時間かかったんだろう・・・

シェアする

  • このエントリーをはてなブックマークに追加

フォローする