0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ubuntu 24.04】Docker を使ってオンプレ環境に Mattermost サーバを構築する手順まとめ

0
Last updated at Posted at 2025-12-24

はじめに

Mattermost をオンプレで構築してみました。備忘録に

📌 構築環境

  • OS: Ubuntu 24.04.2 LTS
  • Docker(Docker Engine / Docker Compose)インストール済み
  • OpenSSH インストール済み

Mattermost の Docker 構成を GitHub からクローンする

Mattermost 公式が Docker ベースの構築用リポジトリを公開しています。

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

完了すると docker/ ディレクトリが作成されます。

.env ファイルを作成する

docker/ ディレクトリ内に env.example があるので、これを .env としてコピーします。

cp env.example .env

この .env に Mattermost のバージョン・DBの設定・TLS設定などが読み込まれるため、必要に応じて編集してください。

同梱の NGINX を使って TLS(HTTPS)対応させる

Mattermost の Docker 構成には NGINX のコンテナが含まれており、HTTPS で公開できます。

設定を変更する場合は nginx/ ディレクトリ内を編集します。

例:ポート番号を変えたい場合

nginx/conf.d/mattermost.conf を編集して listen ポートを変更できます。

また、自己署名証明書や Let's Encrypt を使いたい場合は nginx/ssl 配下に配置すればOKです。
今回は step-ca を使って証明書を発行しています。

Docker Compose で起動する

cd ~/mattermost-docker

初回起動はイメージを pull して DB 構築まで入るため少し時間がかかります。
mattermostと同時にnginxも立ち上げます。

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

状態を確認:

docker ps

appdbnginx などのコンテナが Up になっていればOKです。

ブラウザからアクセスして初期設定

https://<サーバのIPまたはFQDN>/

へアクセスします。

初回アクセスで管理者アカウントを作成し、チーム名や基本設定を行います。

よくあるつまずきポイント

443ポートが既に使われていた

NGINX が起動しない場合は以下でポート競合を確認します:

sudo lsof -i :443

TLS証明書の読み込みエラー

証明書ファイルのパーミッションは以下推奨:

chmod 600 nginx/ssl/*.key

自己署名 TLS 証明書を作成する(必要な場合)

社内ネットワークのみで利用する場合など、外部の認証局を使わずに 自己署名証明書(Self-signed certificate) を作成して NGINX に設定することもできます。

以下は nginx/ssl/ に証明書を配置する例です。

  1. 証明書用のディレクトリを作成
mkdir -p nginx/ssl
cd nginx/ssl
  1. OpenSSL で自己署名証明書を作成(有効期限365日)
openssl req -x509 -nodes -newkey rsa:2048 \
  -keyout mattermost.key \
  -out mattermost.crt \
  -days 365

コマンド実行中に以下の項目を聞かれますが、必要最低限でOKです。

Country Name (2 letter code) [AU]: JP
State or Province Name (full name) []: Tokyo
Locality Name (eg, city) []: Chiyoda
Organization Name (eg, company) []: MyCompany
Organizational Unit Name (eg, section) []: IT
Common Name (e.g. server FQDN or YOUR name) []: mattermost.local  ←重要
Email Address []:

※ Common Name(CN)にはアクセス時に使用する FQDN または IP アドレスを必ず指定してください

  1. パーミッションの調整(NGINX エラー防止)
chmod 600 mattermost.key
chmod 644 mattermost.crt
  1. NGINX の設定に証明書を反映

nginx/conf.d/mattermost.conf を編集します。

ssl_certificate     /etc/nginx/ssl/mattermost.crt;
ssl_certificate_key /etc/nginx/ssl/mattermost.key;

Docker では nginx/ssl ディレクトリが /etc/nginx/ssl にそのままマウントされるため、このパスで問題ありません。

  1. NGINX を再起動
docker compose restart nginx

これで自己署名証明書を使った HTTPS アクセスが可能になります。
(ブラウザでは「安全でない証明書」と表示されますが、社内用途なら問題ありません)

step-caを使用した場合はルート証明書を各クライアントにインストールしましょう。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?