はじめに
本記事はmattermost/mattermost-docker team edition v5.28.1で設定画面からListen Addressを変更してしまって立ち上がらなくなったときの対処方法を記述したものです.
経緯
以下のようにNginxのリバースプロキシで80/443ポートに来たアクセスをMattermostの8065ポートに飛ばす構成で組んでいました.
しかし,システムコンソールを見ると Listen Addressが**:8000となっていたので,おかしいなと思って:8065**に書き換えてしまったのが始まりです.
その後dockerの設定を書き換えてrestartしてしまうとmattermostが立ち上がらなくなってしまいました.
公式のKnwon Issueにも以下のように書き換えないようにと書いています.
Do not modify the Listen Address in Service Settings.
対処法
Mattermostのdocker imageは設定を変更してうまく動作しなくなってもコンテナ自体は立ち上がります.なので起動した状態でコンテナ内部で作業します.
docker imageのベースがalpine Linuxなのでshellはashです.
mm_container_nameはMattemostのコンテナ名です.
docker exec -it <mm_container_name> /bin/ash
内部にシェルにアタッチできたら以下のようにconfig/config.jsonを書き換えます
cd config
sed -i -e 's/:8065/:8000/' config.json
書き終えたらShellを抜けてdockerコンテナを再起動すれば復活します
正しい設定
Mattermostの公式ドキュメントに以下のような記述があります.
To improve the production use of Mattermost with Docker, the docker image is now running a as non-root user and listening on port 8000. Please read the upgrade instructions for important changes to existing installations.
ということで,通常使うポートは8000番になったとのことなのでNginxのReverse Proxy設定を変更します.