FreeBSDのMattermostでPluginを動かすには

FreeBSD

今の環境はFreeBSD13.2Rで、mattermost7.10をportsから入れています。

今流行りのChatGPTをmattermostからapi経由でアクセスしてみたいと思ったのが事の始まりです。
メモを残すに便利なmattermostですが、いかんせんplug-inが全滅で動かない。不快でしかない。
コロナが始まる3年前は少しビルドした記憶があります。
何故動かない原因が分かりにくいかと言うとエラーメッセージが的を得ていないに他ならない。
これはディレクトリーだとか、Peimipsion denyとかしか出ないけど、殆ど意味不明。
基本的には3つの問題があります。
  1. /usr/local/www/mattermost に client/plugins が無い
  2. FreeBSDのサーバーモジュールバイナリーが、目的Pluginのserver/distに存在しない。
  3. 同時にplugin.jsonにFreeBSDのバイナリー定義が無い。
の以上全ての原因です。ディレクトリーがなければ、Permission Denyと言われるし、バイナリーが存在しなくても、plug-inのディレクトリーはディレクトリーだと言われる。
ビルドは若干反則を使います。
Ubutuでプラグインをビルドしてもnodeで落ちたりするので、基本は配布されているパッケージのtar.gzを使う事にしてます。
なので、githubからはソースとパッケージの両方をcloneします。
ソースの方はgmake distしても落ちるから、Makefileに FreeBSDのエントリーを追加して、gmake serverします。これでFreeBSDのサーバーモジュールができるから、パッケージのdistにコピーして、plugin.jsonにエントリーを追加して、再びgzipすれば出来上がりです。
サイズが大きすぎてアップロードできない場合はsftpして展開し、chownすれば、動きます。
あ、Callsだけは何故かFreeBSDのモジュールが入っていてそのままインストールできました。
それ以外は全滅で、
6個程ビルドしてみました。

コメント

タイトルとURLをコピーしました