Whoogle on the Tailscale network

Updated on
Whoogle on the Tailscale network

I am a happy DuckDuckGo user of many years. It matches all of my requirements: good results, ability to jump to the first result with a keyword (using ""), bangs to search within particular websites and tracker-free search results.

I recently learned about Whoogle though and I had been wanting to try that for a while. It’s a self-hosted, ad and tracker-free search engine that fetches results from Google. The project promises that it’s free of cookie and IP address tracking too. It’s open source and it seems that it can be set up on any device. I have two Raspberry Pi devices at home, both connected on my Tailscale network, acting as Pi-hole nodes to block ads. One of the two Raspberry Pis also acts as my Hydroxide node to fetch ProtonMail emails.

I decided to install Whoogle on the same Raspberry Pi that runs Hydroxide. The process turned out to be really simple. Whoogle has thoroughly documented instructions to install on a Raspberry Pi with Docker; I installed using these Docker Hub instructions:

docker pull benbusby/whoogle-search
docker run --publish 5000:5000 --detach --name whoogle-search benbusby/whoogle-search:latest

I ran into a hurdle involving a dependency’s compatibility with my Raspberry Pi image, but that was easily solvable. Once all that of was done, the Whoogle instance was available at 0.0.0.0:5000 but it was neatly exposed on the Tailscale interface too, thus being available at my Tailscale node’s IP address: 100.71.84.105:5000. Thanks to Tailscale’s Magic DNS, this instance becomes available at a readable address too: http://mew:5000. mew is the name of my Tailscale node. It’s configurable on the Tailscale admin.

An image showing a search query on my Whoogle instance.

Since all of my devices are connected to the Tailscale network, my Android can access it as well:

An image showing a Whoogle search query on Android.

It’s nice overall. I am not bothered by the http queries as the communication between my device and the Raspberry Pi is end-to-end encrypted, thanks to Tailscale.

I configured access control lists on Tailscale to make this Whoogle instance available for my friends connected to the same Tailnet.

I plan on using Whoogle for a few weeks to see how it fits into my workflows. I will be missing out on some rich DuckDuckGo features like DuckDuckGo Bangs and jumping to the first result, and if it becomes too much to compromise on, I plan on going back to DuckDuckGo.