-
Notifications
You must be signed in to change notification settings - Fork 1
設置の手順
動作環境について、先に確認しておくこと。
エージェントボット2体を登録する為のアカウントを事前に登録する。 ボットのアクセストークンは後ほど取得する手順があるので、ここではアカウントを作成するだけでいい。
cd 設置先ディレクトリ
git clone git@github.com:pooza/mulukhiya-toot-proxy.git
cd mulukhiya-toot-proxy
bundle config set without 'postgres'
bundle install
cd mulukhiya-toot-proxy
bundle config set without 'mongo'
bundle install
nginxにリバースプロキシを設定する。 該当するserverブロックに以下を追記し、nginxを再起動。
- 利用しないことが分かっているハンドラは、この時点で無効に設定するとよい。
- 特に、ウェルカムメッセージを利用しない場合はここで無効にする。
- 逆に、実験的な扱いであるハンドラは、この時点で有効にする。
以下、Nextcloud関連機能(NextcloudClippingCommandHandler, NextcloudBookmarkHandler)を無効にする設定の例。
handler:
nextcloud_clipping_command:
disable: true
nextcloud_bookmark:
disable: true
エージェントボットの為の設定項目(以下)は、この時点では無作為な文字列を仮入力しておく。(なんでもいい)
以下、設定例。
agent:
info:
token: foo
test:
tokan: bar
設定後、設定の確認を実行。指摘された箇所がもしあれば、修正する。
bundle exec rake config:lint
設定への誤りが指摘されなければ、仮起動を行う。
bundle exec rake start
-
エージェントボット(お知らせボットとテストボット)のそれぞれのアカウントでインスタンスにログインし、モロヘイヤHOME内のページ
/mulukhiya/app/token
でトークンを取得する。- 取得したトークンを手元に控えておく。
- リスナーが必要な機能を利用する場合は、特別なトークンを作成。
エージェントボットの為の設定項目(以下)を、正しい値で本登録する。
なお、モロヘイヤHOMEに表示される暗号化トークンはクォートが必要な文字を含む為、必ずクォートして記述する。
agent:
info:
token: 'your_info_token' # シングルクォートでくくる
test:
tokan: 'your_test_token' # シングルクォートでくくる
bundle exec rake restart
bin/test.rb
100% passed
が表示されることを確認。
これ以降は、動作上必須ではないがお勧めする設定。 動作には必須ではないとはいえ、少なくとも本番環境では、実際には強くお勧めする項目。
- Mastodonの場合は、ファイルアップロード時の制約を回避の改造を推奨。
mulukhiya-toot-proxyというプログラム名で、syslogに出力している。 以下、rsyslogでの設定例。
:programname, isequal, "mulukhiya-toot-proxy" -/var/log/mulukhiya-toot-proxy.log
ローテーションに関しては、設置先OSの各々の流儀で。
Redisのバックアップが必要。 自動で作成されるダンプファイル(*.rdb)を、何らかの方法(rsync等)で他のサーバに 定期的にコピーする。 日付を含めたファイル名で保存し、直近数世代を保管するのが望ましい。 バックアップ先サーバで、保管先ディレクトリのスナップショットを残す等でも可。
Sidekiqにリモートアドレス等によるアクセス制限が設定されているのでなければ、通常はBASIC認証を設定。
監視環境を構築しているなら、公開API GET /mulukhiya/api/health
(例えば、 https://mstdn.example.com/mulukhiya/api/health
)に対してGETを行い、200
を返すことの監視を行う。
このヘルスチェックURLに対して、UptimeRobotの無料枠で監視設定するのでもよい。