2018年1月22日月曜日

Mattermost の Docker 版で日本語検索をなんとかする方法

職場で「Slack使ってみたいね〜」という声が聞こえてきたので、年末に記事で見かけたオープンソースのMattermostをインストールして使ってみた。


Mattermost

GIGAZINEの記事中には言及されていないが、Docker版ができていて、コマンド一発でお試しできる。
docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

Docker版で立ち上げると、面倒な設定なく始められる。

ただ、記事後半の日本語検索については同様の問題が発生する。
記事中にもあるようにこちらのサイトの通り設定していくが、少し手順が異なる。

まず、コンテナに接続する。
docker exec -it mattermost-preview /bin/bash
記事のように/etc/my.cnfを編集して…とやりたいが、Dockerイメージにはviすら入っていない。
面倒なので、追記モードで書き込む。
echo "[mysql]" >> /etc/my.cnf
echo "default-character-set = utf8mb4" >> /etc/my.cnf
echo "" >> /etc/my.cnf
echo "[mysqld]" >> /etc/my.cnf
echo "character-set-server = utf8mb4" >> /etc/my.cnf
echo "innodb_large_prefix = ON" >> /etc/my.cnf
echo "innodb_file_format = Barracuda" >> /etc/my.cnf
echo "innodb_file_format_max = Barracuda" >> /etc/my.cnf
 
ファイルを編集したら、 sudo systemctl restart mysql としたいが、Docker版はdebianベースなので、コマンドが違う。

以下のように読み替える。
sudo service mysql restart
sudo systemctl status mysql このコマンドも同様
sudo service mysql status
mysqlコマンドも mysql mattermost -u mmuser -p ではなく、
mysql mattermost_test -u mmuser -p
と入力し、パスワード入力画面で
mostest
と入力する。

これらの情報は、Dockerfileに環境変数として設定されている。
https://hub.docker.com/r/mattermost/mattermost-preview/~/dockerfile/




mysql内のコマンドは記事中にある通り、変更せずに入力できる。