Odysseus AIでSearXNGを設定・テスト・修復する完全ガイド
Docker同梱サービス、外部SearXNG、検索プロバイダーのテスト、Web SearchやDeep Researchが動かない場合の切り分けを解説します。
Odysseus AIでSearXNGを設定するときは、SearXNGサービス自体が正常であることと、Odysseusプロセスから正しいURLへ到達できることを別々に確認します。Dockerコンテナ内でlocalhostを使う、アプリだけを起動する、検証済みの固定イメージを安易にlatestへ変える、といった操作は検索停止の原因になります。本稿は2026年7月22日に確認した公式devブランチに基づきます。GitHub Releasesやタグが公開されていなかったため、存在しない安定版番号は記載しません。
Odysseus AIでSearXNGを設定する仕組み
現在のOdysseusでは、SearXNGが標準のセルフホスト検索プロバイダーです。Web SearchとDeep Researchが検索先へ問い合わせ、取得した出典や本文をモデルへ渡します。モデルだけでは最新Web検索は実行できません。
接続URLは実行場所で変わります。ホスト側のlocalhost:8080は公開ポートを指しますが、Odysseusコンテナ内のlocalhostはそのコンテナ自身です。同じComposeネットワークでは http://searxng:8080 を使います。
| Odysseusの実行環境 | SearXNG URL | 利用場面 |
|---|---|---|
| 公式Docker Compose | http://searxng:8080 | OdysseusとSearXNGが同じComposeネットワークにある |
| ホスト上のネイティブ起動 | http://localhost:8080 | 同じPCでSearXNGの8080番ポートを公開する |
| 別サーバー | https://search.example.com | Odysseusから名前解決と接続ができる保護済みURL |
Dockerに同梱されたSearXNGを起動する
公式ComposeはOdysseus、SearXNG、ChromaDB、ntfyをまとめて起動し、SearXNGをホストの127.0.0.1:8080へバインドします。アプリ単体ではなく、リポジトリ直下からスタック全体を起動してください。
確認日時点の公式ファイルはSearXNG 2026.5.31-7159b8aedを固定しています。上流の新しいイメージでヘルスチェックが失敗した経緯がコメントされているため、理由なく:latestへ置き換えないでください。
コンテナ内でlocalhostを使わない
標準ComposeではOdysseusコンテナから http://searxng:8080 へ接続します。http://localhost:8080 はホストまたはネイティブ起動向けです。
-
環境ファイルを作る
.env.exampleを.envへコピーします。固定シークレットが不要ならSEARXNG_SECRETは空のままで構いません。
-
スタック全体を起動する
Odysseusディレクトリで docker compose up -d --build を実行します。
-
ヘルスチェックを待つ
docker compose psでodysseusとsearxngの状態を確認します。
-
再構築前にログを見る
docker compose logs searxng --tail=100で権限、ボリューム、ポート、イメージ取得の問題を確認します。
docker compose up -d --build
docker compose ps
docker compose logs searxng --tail=100
外部SearXNGインスタンスへ接続する
SearXNGがComposeネットワーク外にある場合は、.envのSEARXNG_INSTANCEへOdysseusプロセスから到達できる最終URLを設定し、Odysseusを再起動します。
デスクトップのブラウザーで開けても、コンテナのDNS、TLS証明書、ファイアウォール、プロキシ認証が原因で失敗することがあります。公開共有インスタンスは制限や仕様変更があるため、管理下のセルフホスト環境が安定します。
SEARXNG_INSTANCE=http://localhost:8080
SEARXNG_INSTANCE=https://search.example.com
docker compose up -d --force-recreate odysseus
OdysseusでSearXNGを選択して検索を確認する
SettingsのSearchパネルを開き、ProviderにSearXNGを選んでTestを実行します。Deep ResearchもWeb Searchと同じプロバイダーを使うか、SearXNGを明示的に選べます。
テスト成功後、Web検索を有効にしたチャットで小さな質問を実行し、現在の出典リンクが返ることを確認します。Deep Researchは狭いテーマから始め、成功後にトークン数や並列数を増やします。
- SearchのProvider Testが成功する。
- チャット回答に現在の出典リンクが含まれる。
- Deep Researchが少なくとも1ページを取得・抽出できる。
- SearXNGポートを意図せずLANやインターネットへ公開していない。
Odysseus AIのSearXNGエラーを切り分ける
一度に複数設定を変えず、コンテナの状態、ネットワーク到達性、Provider Test、検索結果品質の順で確認します。
| 症状 | 主な原因 | 次に確認すること |
|---|---|---|
| Connection refused | ホスト名違い、停止中、ポート競合 | docker compose psとコンテナ内URLを確認 |
| Odysseusが待機またはunhealthy | SearXNGのヘルスチェック失敗 | ログを読み、公式固定イメージを維持 |
| ブラウザーでは開くがTest失敗 | ホストURLへコンテナから到達できない | コンテナ側DNS/TLSを確認しlocalhostを修正 |
| 結果が空またはブロック | 検索エンジン、制限、SafeSearch、応答形式 | SearXNGへ直接検索しsettings.ymlを確認 |
| Deep Researchがタイムアウト | 検索、DNS、抽出先が遅い | 先にTestを通し、範囲と並列数を下げる |
| 再起動後に設定が消える | コンテナ未再作成または永続化不足 | .env、override、volumeを確認 |
バージョン確認とセキュリティ
2026年7月22日に正規のodysseus-dev/odysseusを確認しました。Releasesとタグがなかったため、本稿は安定版番号を作らず、公式devブランチのsetupとComposeに従います。
SearXNG、モデルAPI、ChromaDBなどの生ポートは非公開にしてください。別ホストへ移す場合は、有効なTLS、認証または信頼できるプライベートネットワーク、明示的なファイアウォールを使います。
鮮度確認
2026年7月22日に正規GitHubと公式setup/Composeを確認。安定版タグはなく、SearXNGイメージは公式固定値に従っています。
Odysseus AIとSearXNGのFAQ
公式資料
- Odysseus正規GitHubリポジトリ - 現在のソースとREADME
- Odysseus公式セットアップガイド - 環境変数、ネットワーク、ポート、セキュリティ
- Odysseus Docker Compose - SearXNGサービス、ヘルスチェック、固定イメージ
- SearXNG公式ドキュメント - 上流のインストールと設定
関連ガイド
- Odysseus AI Dockerセットアップ - スタック全体とコンテナネットワークを確認します。
- Odysseus AIの使い方 - インストール後の安全な作業フローを学びます。
- Odysseus AIとOllamaの設定 - Web検索とは別にローカルモデルを接続します。
最終更新:2026年7月22日
ホームへ戻る