サーバー関連の勉強に興味が出てきたので、試しにチャットツールであるMattermostをインストールしてみることに。
最初はラズパイにインストールする予定だったのですが、ARM CPUには対応していないようなので、Windowsのwslを用いてUbuntuにインストール。
既存の環境が崩れる可能性があるのが嫌&不必要になったらまとめて削除したい、ということでDockerを用いた手順を使用。
docs.mattermost.com
4と5については、オプション的な手順ということもあり省略。
カレントディレクトリにある.envファイルDOMAINをlocalhostに修正してから、6. Deploy Mattermost.の
sudo docker compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
を実行して、ブラウザから http://localhost:8065 でアクセスしようとしたところ、エラー発生。
まずは、ファイやウォールでブロックされているわけではなさそうということを確認。
sudo ufw status >> Status inactive
ChatGPTに聞きながら調べてみると、
/volumes/app/mattermost/config/config.json
のファイル内の設定が原因ぽいとのこと。
下記の3つをきちんと書いてみる
{
"ServiceSettings": {
"SiteURL": "http://localhost:8065",
"WebsocketURL": "ws://localhost:8065",
"AllowCorsFrom": "http://localhost:8065",
}
}再度、ブラウザからアクセスするとログイン画面が表示され、無事に使えることを確認。
外部からもアクセスできるように設定したかったのですが、参考書を見てみると、個人でサーバーを立てる等はとても困難であり現実的ではないとのこと...
item.rakuten.co.jp
config.jsonをうまく理解できていないせいか、localhost→wslを起動しているホストPCのIPアドレスへと変更すると、ホストPCのブラウザからアクセスできても、ローカルネットワーク (自宅のネットワーク) 内の他のPCからは接続できず...
しかも、ホストPCのブラウザでも数十秒後に「Please check connection~」という接続エラーが...
(偶然設定がうまくいったのか、1回だけラズパイから接続できたのですが、その時のスクリプトをGithubにあげるのを忘れてしまうミス...)
wslを使わなければ、もう少しストレートに設定できたりするのかな...?