概要
VPSでSearXNGをセルフホストするには?
VPSでSearXNGをセルフホストするには、Dockerをインストールし、docker.io/searxng/searxng イメージを 127.0.0.1:8888 にバインドしたポートで実行してから、SSHトンネル経由で開きます。GloamportのGloamプラン(2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic)は、12か月契約で月額$8.25で、余裕をもって動かせます。
セルフホストのSearXNGには何が必要ですか?
| 項目 | 値 | 取得元 |
|---|---|---|
| イメージ | docker.io/searxng/searxng:latest(ミラー:ghcr.io/searxng/searxng) | SearXNGコンテナのドキュメント |
| コンテナのポート | 8080。ホストでは 127.0.0.1:8888 として公開 | SearXNGコンテナのドキュメント |
| 設定フォルダ | /etc/searxng/ in the container, ./config/ on the host | SearXNGコンテナのドキュメント |
| データフォルダ | /var/cache/searxng/ in the container, ./data/ on the host | SearXNGコンテナのドキュメント |
| シークレット | server.secret_key、またはSEARXNG_SECRET変数 | SearXNGのインストールドキュメント |
| 出力形式 | 既定ではhtmlのみ。jsonはsearch.formatsに追加が必要 | SearXNGのインストールドキュメント |
| 推奨プラン | Gloam: 2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic | Gloamportのプラン一覧 |
価格確認日:
SearXNGとは何ですか?なぜ自分でホストするのですか?
SearXNGは無料のメタ検索エンジンです。クエリを多くの検索エンジンに送り、結果を1つのページにまとめて返します。ドキュメントでは、プライバシーを尊重するメタ検索エンジンと説明されています。自分でホストすると、インスタンスの利用者はご自身だけになり、設定もご自身で決められます。
前置きがあります。上流の検索エンジンは、ご自身のアドレスではなくVPSのアドレスから、引き続きクエリを受け取ります。VPSの提供事業者は、VPSへの通信を見ます。セルフホストで変わるのは誰が何を見るかであり、検索エンジンが関与しなくなるわけではありません。Gloamportはサーバーだけを販売し、その上のものは何も提供しません。ソフトウェアはご自身で運用するものです。
Debian 13またはUbuntu 24.04にSearXNGをセルフホストする方法
5つの手順、新しいVPSで約15分です。
サーバーにログインしてシステムを更新
鍵を使ってrootとしてVPSにSSHで接続し、apt update と apt upgrade を実行します。セットアップ時間:支払いが確認されてから最大1時間以内。ほとんどのVPSは数分以内に稼働します。
Docker Engineをインストール
Dockerの公式インストールページに従って、お使いのシステム(Debian 13とUbuntu 24.04はどちらも対応)用にDockerのaptリポジトリを追加し、下のコードブロックのパッケージをインストールします。
フォルダとシークレットを作成
configとdataを含む searxng フォルダを作成し、openssl rand -hex 32 でランダムなシークレットを生成します。後でコンテナを作り直せるように、シークレットはrootだけが読めるファイルに保管してください。
コンテナを起動
コードブロックの docker run コマンドを実行します。-p オプションは、コンテナのポート8080を127.0.0.1:8888に公開するので、VPSの外からは到達できません。再起動ポリシーにより、再起動後も自動で起動します。
SSHトンネルで開く
ご自身のコンピュータで、コードブロックの ssh -L コマンドを実行し、http://127.0.0.1:8888 を開いてください。終わったらトンネルを閉じるか、バックグラウンドのセッションとして開いたままにしてもかまいません。
# After adding Docker's apt repository (docs.docker.com/engine/install/debian/)
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Folders and a secret
mkdir -p ~/searxng/config ~/searxng/data
cd ~/searxng
umask 077; openssl rand -hex 32 > secret.txt
# Container, published on loopback only
sudo docker run --name searxng -d --restart unless-stopped \
-p 127.0.0.1:8888:8080 \
-e SEARXNG_SECRET="$(cat secret.txt)" \
-v "./config/:/etc/searxng/" \
-v "./data/:/var/cache/searxng/" \
docker.io/searxng/searxng:latest
# Check it answers locally
curl --head 127.0.0.1:8888ssh -N -L 8888:127.0.0.1:8888 root@YOUR_VPS_IPインスタンスは公開すべきですか、それとも非公開にすべきですか?
特別な理由がなければ非公開にしてください。公開インスタンスは、ボットにクロールされ悪用されがちです。SearXNGのドキュメントには、そのための制限設定(server.limiter、テンプレートでは既定でオフ、false)が用意されています。SSHトンネルの背後にある1人用インスタンスなら、制限も証明書も必要ありません。
携帯電話からトンネルなしでアクセスしたい場合は、HTTPSのリバースプロキシを前に置き、パスワードを追加してください。その作業はこのガイドの範囲外です。VPSを経由するブラウザで使う場合は、SSHをVPSのSOCKSプロキシとして使うにはどうすればよいですか?と組み合わせ、同じトンネルを両方に使ってください。
SearXNGはどれくらいのサーバーを使いますか?
1人用のインスタンスは小さなプランに収まり、Gloamには他のサービスの余裕もあります。ベンチマーク数値は示しません。隣で動かすものに合わせてプランを決めてください。
Gloamportは、Matrixサーバー、Vaultwarden、SearXNGを一緒に向けのプランとしてGloamを挙げており、12か月契約で月額$8.25(1か月契約では$16.50)です。
SearXNGだけを動かすなら、より小さい選択肢はDusk(1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic、12か月契約で月額$5.25)です。1週間後に docker stats で負荷を確認し、メモリが足りなければ上のプランに上げてください。料金ページで、すべてのサイズと契約期間を確認できます。
セルフホストのSearXNGを更新・保護するには?
イメージを再度pullしてコンテナを作り直して更新します。ポートをloopbackに留めることで保護します。シークレットは変数で渡し、フォルダはホストからマウントしているので、コンテナを作り直しても何も失われません。イメージを docker pull し、古いコンテナを docker rm -f searxng で削除してから、docker runコマンドを繰り返してください。
ホストも保護してください:鍵のみのSSH、パスワードログインなし、SSHを許可するファイアウォール。新しいVPSでSSHを強化するには?をご覧ください。Gloamportが2026年11月10日について行った調査によると、49件のプロバイダーのうち28件が登録時に身分証明書類を求めません。いずれにせよ、サーバーそのものはご自身で守るものです。
まとめ
- SearXNGは docker.io/searxng/searxng から動き、設定は /etc/searxng/ にあります。
- 127.0.0.1:8888:8080 として公開するので、VPS自身だけが到達できます。
- ランダムなシークレットを設定します。SEARXNG_SECRET 変数は server.secret_key より優先されます。
- ご自身のコンピュータからは ssh -N -L 8888:127.0.0.1:8888 で接続します。
- 上流の検索エンジンは、VPSのアドレスからでも引き続きクエリを受け取ります。
- Gloam(12か月契約で月額$8.25)は、他のサービスと並べて動かせます。
- イメージを再pullしてコンテナを作り直して更新します。
セルフホストのSearXNG:よくある質問
ドメイン名は必要ですか?
いいえ、SSHトンネルの背後であれば不要です。ご自身のコンピュータで http://127.0.0.1:8888 を開きます。ドメインと証明書が必要になるのは、インターネットに公開する場合だけです。
代わりにDocker Composeを使えますか?
はい。SearXNGのコンテナのページではComposeを推奨しており、docker-compose.yml と .env.example を取得するコマンドを載せています。上の docker run コマンドは、同じページにある手動の方法です。
JSON出力を有効にするには?
settings.yml の search.formats に json を追加します。テンプレートではhtmlのみが有効で、形式を削除すると、その形式へのアクセスは拒否されます。
セルフホストすれば検索は非公開になりますか?
共有の公開インスタンスを経路から外せます。ただし、SearXNGが問い合わせる検索エンジンは引き続き各クエリを受け取り、VPSの提供事業者はVPSへの接続を見ます。
どのOSで動きますか?
Gloamportのイメージ:Linuxのみです。Debian、Ubuntu、AlmaLinux、Rocky Linuxのイメージがあります。Windowsはありません。コンテナはDebian 13とUbuntu 24.04で同じように動きます。
出典 (4)
- SearXNGドキュメント:インストール(コンテナ) — SearXNG project (checked 2026-11-10)
- SearXNGドキュメント:手順ごとのインストール — SearXNG project (checked 2026-11-10)
- DebianへのDocker Engineのインストール — Docker Inc. (checked 2026-11-10)
- ssh(1)マニュアルページ:-L、-N — OpenBSD / OpenSSH (checked 2026-11-10)