8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Mattermost を Docker でローカルサーバにインストール

Last updated at Posted at 2022-09-20

ローカルサーバに Mattermost をインストールしてみます。

環境、構築ポリシー

  • Ubuntu 22.04 LTS Desktop Ja および Ubuntu 20.04 LTS Desktop Ja
    • 80番ポートを別用途で使用済(Apache)
  • Mattermost Team 版を使用する
  • Mattermost は Docker 経由でインストールする
  • プライベートIPアドレスをぶらうざに入力してアクセスする
  • 証明書は使用しない

インストール方法の選択

ここに、いくつもインストール方法が紹介されています。
https://docs.mattermost.com/guides/deployment.html

image.png

今回は Docker を使うことにしました。

Docker セットアップ

まず、Dockerをインストールします。
「Ubuntu20.04 に Docker を導入する (Also Ubuntu 22.04)」
https://qiita.com/nanbuwks/items/0ba1d13b3cd27e5c6426
の通り作業、Docker公式レポジトリから最新版をインストールします。

Mattermost ダウンロード、設定

以下のドキュメントのとおりにやってみます。
https://docs.mattermost.com/guides/deployment.html

$ git clone https://github.com/mattermost/docker
$ cd docker

サンプル設定ファイルをコピーし、編集します。

$ cp env.example .env

以下のように編集します。

# Domain of service
DOMAIN=mm.example.com

# Domain of service
DOMAIN=192.168.42.12
MATTERMOST_IMAGE=mattermost-enterprise-edition
MATTERMOST_IMAGE_TAG=7.1

MATTERMOST_IMAGE=mattermost-team-edition
MATTERMOST_IMAGE_TAG=7.1

また、Timezoneを以下のように設定します。

TZ=Asia/Tokyo

以下のように必要なファイル、ディレクトリを設定します。

$ mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
$ sudo chown -R 2000:2000 ./volumes/app/mattermost

Mattermost を起動

以下のように起動しました。

$ docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d

ここで、 nginx を使わない場合は docker-compose.without-nginx.yml、 nginx を使う場合は docker-compose.nginx.yml と指定して起動します。今回は、 nginx を使わずに起動しました。

Creating network "docker_default" with the default driver
Pulling postgres (postgres:13-alpine)...
13-alpine: Pulling from library/postgres
213ec9aee27d: Pull complete
85c3ef7cf9a6: Pull complete
ac29cc04759a: Pull complete
6b14d22dbf64: Pull complete
2d8ab7259e6e: Pull complete
51f6defbaf81: Pull complete
ede0ecb57b78: Pull complete
06aa039a894a: Pull complete
Digest: sha256:fc3670fa23119159394dfdb98eee89b30ef5a506791aea6ff7d8a4e73a8cd4a4
Status: Downloaded newer image for postgres:13-alpine
Pulling mattermost (mattermost/mattermost-enterprise-edition:7.1)...
7.1: Pulling from mattermost/mattermost-enterprise-edition
751ef25978b2: Pull complete
6058830c33a8: Pull complete
f9580aa23981: Pull complete
c7989beb8f48: Pull complete
Digest: sha256:2fe9f455549a489a9007bff0a6da89fca4551ca6565844a6744a2c353e0a0554
Status: Downloaded newer image for mattermost/mattermost-enterprise-edition:7.1
Creating docker_postgres_1 ... done
Creating docker_mattermost_1 ... done

となり以下のように起動しました。

image.png
この画面で、最初の管理者ユーザを登録し、その後 チーム名を登録します。

問題点

メニューからメンバー招待ができません。

image.png
このボタンを押してもクリップボードに何も入りません。

この問題は、nginx を使わないときに発生するらしいです。

cf.,

解決策その1 nginx を使った Docker インストールを行う

以下のように起動すると問題解決するのかな?

$ docker-compose -f docker-compose.yml -f docker-compose.nginx.yml up -d

しかしながら今回の環境では、別用途に Apache が動作していて ポート80 が塞がっているのでこの方法は使えませんでした。

.envHTTP_PORT=80 を変更したりしてみましたがそれだけではダメなようです。

解決策その2 Docker以外のインストール方法を行う

もともと Mattermost は Docker を使わなくともインストールできますし細かな設定をするにはそちらを用いるべきですが、今回はデータベース設定を簡略化したかったため Docker を使った方法で解決する方法を採りました。

解決策その3 mmctl を使用する

cf.,https://docs.mattermost.com/manage/mmctl-command-line-tool.html

こちらの mmctl コマンドを使用してアカウントが作成できるようです。今回は別方法を用いて解決したので試していません。

解決策その4 Open Server 設定を使う

システムコンソールから AUTHENTICATION - Signup を選びます。
image.png

「Enable Open Server」の設定を変更します。
image.png

「true」にします。
image.png

ログアウトするか、別ブラウザでアクセスすると右上に「Create an account」が表示されるので別アカウントを登録します。

image.png

登録できたら、管理者からメンバーを追加します。
image.png

設定

管理者権限で、Configuration-SITE-CONFIGURATION -Localization で日本語の設定をします。

image.png

チャンネルに戻り、右上の歯車を押します。
image.png

DisplayのLanguageを押して、日本語を選択します。
image.png

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?