読了約11分 2026年7月22日

Odysseus AIでSearXNGを設定・テスト・修復する完全ガイド

Docker同梱サービス、外部SearXNG、検索プロバイダーのテスト、Web SearchやDeep Researchが動かない場合の切り分けを解説します。

Odysseus AI Wiki
Odysseus AI Wiki
ファン運営の独立したローカルAIガイド

結論: 標準Docker構成では、OdysseusコンテナからSearXNGへ接続するURLは http://searxng:8080 です。Compose全体を起動し、Settings → SearchでSearXNGを選び、Testを実行します。ネイティブ起動では通常 http://localhost:8080 を使います。

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 はホストまたはネイティブ起動向けです。

  1. 環境ファイルを作る

    .env.exampleを.envへコピーします。固定シークレットが不要ならSEARXNG_SECRETは空のままで構いません。

  2. スタック全体を起動する

    Odysseusディレクトリで docker compose up -d --build を実行します。

  3. ヘルスチェックを待つ

    docker compose psでodysseusとsearxngの状態を確認します。

  4. 再構築前にログを見る

    docker compose logs searxng --tail=100で権限、ボリューム、ポート、イメージ取得の問題を確認します。

Odysseusと同梱サービスを起動
docker compose up -d --build
サービス状態を確認
docker compose ps
SearXNGの最新ログを確認
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アプリを再作成
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

公式Docker ComposeにはSearXNGサービスが含まれます。ネイティブ起動では到達可能なSearXNGまたは別の対応プロバイダーが必要です。

コンテナ内のlocalhostはそのコンテナ自身です。同梱サービスには http://searxng:8080 を使います。

Settings → SearchでSearXNGを選び、Testを押します。その後、Web検索付きチャットを小さく実行します。

自動的には勧めません。公式Composeは検証済みイメージを固定しているため、変更前に最新の公式ファイルとコメントを確認してください。

使える場合もありますが、レート制限、形式無効化、停止の可能性があります。管理下のインスタンスが安定します。

公式資料

  1. Odysseus正規GitHubリポジトリ - 現在のソースとREADME
  2. Odysseus公式セットアップガイド - 環境変数、ネットワーク、ポート、セキュリティ
  3. Odysseus Docker Compose - SearXNGサービス、ヘルスチェック、固定イメージ
  4. SearXNG公式ドキュメント - 上流のインストールと設定

関連ガイド

最終更新:2026年7月22日

ホームへ戻る