在SearXNG這篇文章介紹過如何使用SearX/SearXNG取代Google等各大搜尋引擎,並簡介了它的優缺點。其中最大的問題,果然還是公共站點的回應速度和細部設定讓人不滿意吧,那麼就來自架個SearXNG搜尋引擎服務吧。(Self-host SearXNG instance)
本文參考searxng-docker在Github上的說明,使用Docker在Linux電腦架設SearXNG服務,開機自動啟動後就不用管他了。
1. 初步設定Dockerfile
SearXNG支援AMD64/ARM64/ARMv7架構的機器。
-
在Linux電腦安裝Docker和Docker-compose。
-
取得SearXNG容器的檔案,內含SearXNG、Caddy、Redis。
|
|
- (架在本機跳過此步驟) 如果你有自己的網域,編輯
.env
檔案,填入主機名稱和Let’s Encrypt的電子郵件。
|
|
- 建立secret key
|
|
- 編輯
docker-compose.yaml
,參考如下範本填寫Dockerfile。
|
|
- 啟動容器
|
|
-
瀏覽器開啟網址
http://localhost:8081
,測試能否存取。 -
SearXNG的log可由以下指令查看
|
|
2. 更新SearXNG
日後若要更新SearXNG容器,執行以下指令:
|
|
3. 調整SearXNG細部設定
進入SearXNG首頁後就能做些微調。首先搜尋引擎並非越多越好,會增加回應時間。通常我只會保留Google、Duckduckgo、Bing這幾個。再來QWant要取消勾選,因為QWant只有在歐洲提供服務,台灣無法使用。
圖片搜尋部份啟用不同來源,其中華為經營的PetalSearch所回傳的結果十分有趣。
影片的話可以把Youtube改為顯示Invidious的搜尋結果,並啟用Sepia Search(PeerTube)看到更多影片。
除了在圖形界面設定要搜尋的搜尋引擎以外,SearXNG也可以修改settings.yml
做細部調整,像是將Youtube的搜尋結果導向到Invidious的公共/自架站點,自訂不要出現在搜尋結果的網站黑名單等。
- 將容器停止
|
|
- 編輯
/usr/local/searxng-docker/searxng/settings.yml
,你會發現它使用的是SearXNG的預設設定檔,請參閱SearXNG的說明文件進行細部調整。
4. 將手機和電腦的搜尋引擎設定為SearXNG
之前寫過ZeroTier使用教學,可讓不同網路的裝置存取自己電腦上的SearXNG服務。
從外部連線存取SearXNG記得要開啟防火牆的8081/tcp
通訊埠,並將localhost
網址換成區域IP,例如http://172.328.11.7:8081
這樣。
接著我們要把瀏覽器網址列的預設搜尋引擎設定為SearXNG。
4.1. 電腦端
電腦端的Firefox不支援加入自訂網址的搜尋引擎,所以要先裝Add custom search engine的附加元件。
開啟Add custom search engine,如圖填寫。電腦端因為是在本機,所以網址是localhost:8081
。
送出後對網址按下右鍵,新增至Firefox。
最後在Firefox的搜尋引擎設定找到SearXNG,將其設定為預設搜尋引擎。
4.2. 手機端
開啟手機版Firefox,點選設定 → 新增搜尋引擎,如圖填寫加入SearXNG。由於手機是使用ZeroTier連線,所以localhost
要換成電腦的虛擬區域IP。