SearXNGを自分専用にWindows PC上だけで動かしてみた

目次

概要

SearXNGとは

  • SearXNGは、複数の検索エンジンの結果を統合する「メタ検索エンジン」です。
  • 各検索エンジンへ送信される情報は最小限に抑えられており、オープンソースソフトウェア(OSS)としてプライバシーにも配慮されています。

目標

  • 自分のWindows PC内で完結するSearXNGインスタンスを構築する。
  • SearXNGインスタンスを常時稼働させる。

方針

  • Windows 11 AMD64で作業します。
  • WSL上のUbuntuで、SearXNG公式Dockerイメージを127.0.0.1:8081にバインドして起動します。
  • 常時稼働を実現するために、「Windows起動 → Docker Desktop起動 → Composeサービス(SearXNG本体+Watchtowerによる更新管理)が起動」という流れを構築します。

WSL::Ubuntuの導入

Docker Desktop for Windowsの導入

インストール

設定

アップデート

  • 自動アップデートを有効にします:
    • Docker ダッシュボード(鯨アイコン) → SettingsSoftware updatesを開きます。
    • Always download updatesをオンにします。

スタートアップ

  • Windows起動時にDockerが自動で起動するよう設定します:
    • Docker ダッシュボード(鯨アイコン) → SettingsGeneralを開きます。
    • Start Docker Desktop when you sign in to your computerをオンにします。
    • Open Docker Dashboard when Docker Desktop startsをオフにします。

SearXNGの導入

インスタンスを立てる

  • 作業用フォルダとしてSearXNGフォルダを作ります。
  • フォルダ内に以下のようなdocker-compose.ymlを作成します。
services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    ports:
      - "127.0.0.1:8081:8080"
    volumes:
      - ./searxng_data:/etc/searxng
    environment:
      - BASE_URL=http://localhost:8081/
      - INSTANCE_NAME=my-searxng
    restart: unless-stopped
    depends_on:
      - watchtower
    healthcheck:
      test: ["CMD", "test", "-f", "/etc/searxng/settings.yml"]
      interval: 10s
      timeout: 5s
      retries: 5

  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --cleanup --interval 86400 searxng
    restart: unless-stopped
  • このディレクトリでコマンドプロンプトを開き、docker-compose up -dを実行します。
  • ブラウザでhttp://127.0.0.1:8081にアクセスし、SearXNGが起動していることを確認できたら、docker-compose downで一旦停止します。

設定

  • settings.ymlを編集して好みに合わせて調整します:
    • 検索候補: autocomplete: "google"など。
    • ファビコンリソルバー: favicon_resolver: "google"など。
    • 検索結果の無限スクロール: infinite_scroll: trueなど。

Docker Composeの基本コマンド

  • バックグラウンドで起動
docker-compose up -d
  • 再起動
docker-compose restart
  • 停止
docker-compose down

ブラウザの設定

  • SearXNGを検索エンジンとしてブラウザに登録します:
    • http://127.0.0.1:8081/search?q=%s
    • http://127.0.0.1:8081/autocompleter?q=%s

参考文献