同時に、LangBotインスタンスがコンテナで実行されている他のサービス(Ollamaなど)に接続する必要がある場合も、以下の設定を参照して、
メッセージングプラットフォームを接続したいサービスに置き換えてください。[[toc]]
LangBotとメッセージングプラットフォームの両方がDockerコンテナで実行されている場合
メッセージングプラットフォーム(NapCat/Lagrange)とLangBotの両方がDockerを使用して起動される場合、Dockerのネットワーク接続を設定する必要があります。 新しいネットワークを作成します:docker-compose.yamlファイルにネットワーク設定を追加します(services.langbotフィールドに追加し、networksフィールドの下にlangbot-networkネットワーク設定を追加します):
docker-compose.yamlファイルに同じネットワーク設定を追加します(docker runコマンドで直接起動する場合は、起動コマンドに--network langbot-networkを追加します)。その後、メッセージングプラットフォームの設定ファイルで、WSリバース接続アドレスのIPアドレスをlangbotに変更します(例: ws://langbot:2280/ws)。
両方のコンテナを再起動します。
LangBotのみがDockerコンテナで実行されている場合
LangBotのみがDockerを使用してデプロイされている場合、ポート2280から2290はデフォルトでコンテナの外部にマッピングされています。この場合、LangBotはWebSocketサーバーとしてのみ動作し、メッセージングプラットフォームからクライアントとしての接続を受け入れることができます。 メッセージングプラットフォームをReverseWebSocket(reverse wsまたはWebSocketクライアントと呼ばれます)に設定し、LangBotのaiocqhttpアダプターによって有効にされたポートに対応するポートで、ローカル127.0.0.1に接続します。
LangBotもメッセージングプラットフォームもDockerデプロイを使用していない場合
ドキュメントに従ってメッセージングプラットフォームとLangBotの設定を行い、両方のポートを同じ未使用のポートに設定し、両方ともローカル127.0.0.1に接続します。メッセージングプラットフォームのみがDockerコンテナで実行されている場合(推奨されません)
現在、LangBotのaiocqhttpアダプターはリバースWebSocket接続のみをサポートしています。メッセージングプラットフォームがDockerコンテナで実行され、LangBotがホストマシンで直接実行される場合、メッセージングプラットフォームはLangBotに接続するクライアントとして動作する必要があります。この場合、メッセージングプラットフォームのネットワークをhostモードに設定し、そのWS接続アドレスを127.0.0.1に設定し、ポートをLangBotのaiocqhttpアダプターによって有効にされたポートに対応させることしかできません。