Whoogle: A search engine for the family

Whoogle is a privacy-focused, family-friendly search engine powered by Google. It offers ad-free results, Safe Search filtering, and easy setup with Docker. Perfect for families seeking secure, private browsing without tracking or explicit content.

Whoogle: A search engine for the family

In a world where online privacy and family safety are more important than ever, Whoogle emerges as a powerful solution. Whoogle is an open-source, self-hosted search engine that delivers Google search results without the tracking, ads, or unwanted content. It provides a clean, fast, and privacy-focused search experience suitable for all ages.

Features

Here are some standout features that make Whoogle an excellent choice for families and privacy-conscious users:

  1. Privacy Protection: Whoogle acts as a proxy between you and Google, ensuring your searches remain anonymous. No tracking cookies or personal data collection.
  2. Family-Friendly Filters: Built-in Safe Search filters out explicit content, making it safe for users of all ages.
  3. Ad-Free Experience: Removes all Google ads from search results, providing a cleaner and faster interface.
  4. Self-Hosted: Host Whoogle on your own server or local machine, giving you complete control over your data.
  5. Customizable Interface: Supports custom themes, languages, and search parameters to suit your preferences.
  6. Lightweight and Fast: Minimal resource usage ensures quick search results without the bloat.
  7. Open Source: Completely free and open-source, with a community of contributors improving it constantly.
  8. Mobile-Friendly: Responsive design that works seamlessly on smartphones and tablets.
  9. No JavaScript Required: Functions smoothly without relying on JavaScript, enhancing privacy and performance.
  10. Easy Deployment: Quick to set up using Docker Compose with minimal commands.

How to Set Up Whoogle with Docker Compose

Setting up Whoogle is straightforward. Below are the step-by-step instructions to get Whoogle up and running using Docker Compose. We'll use one-line CLI commands for efficiency.

Prerequisites

  • A machine with Docker and Docker Compose installed (Linux, macOS, or Windows with WSL2).
  • Basic command-line knowledge.

Step-by-Step Instructions

1. Install Docker and Docker Compose

Uninstall any existing installation of Docker. Update your system packages and install Docker and Docker Compose:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Uninstall Docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Add Official Docker Repo

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Install Docker & Docker Compose

2. Create a Directory for Whoogle

Create a directory for Whoogle; we'll use /srv/whoogle, and navigate into it:

sudo mkdir /srv/whoogle && cd /srv/whoogle

3. Create the Docker Compose File

Generate the docker-compose.yml file with the necessary configuration:

sudo nano docker-compose.yml

Launch nano to edit the yml file for docker compose

services:
  whoogle-search:
    image: ${WHOOGLE_IMAGE:-benbusby/whoogle-search}
    container_name: whoogle-search
    restart: unless-stopped
    pids_limit: 50
    mem_limit: 256mb
    memswap_limit: 256mb
    # user debian-tor from tor package
    user: whoogle
    security_opt:
      - no-new-privileges
    cap_drop:
      - ALL
    tmpfs:
      - /config/:size=10M,uid=927,gid=927,mode=1700
      - /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700
      - /run/tor/:size=1M,uid=927,gid=927,mode=1700
    #environment: # Uncomment to configure environment variables
      # Basic auth configuration, uncomment to enable
      #- WHOOGLE_USER=<auth username>
      #- WHOOGLE_PASS=<auth password>
      # Proxy configuration, uncomment to enable
      #- WHOOGLE_PROXY_USER=<proxy username>
      #- WHOOGLE_PROXY_PASS=<proxy password>
      #- WHOOGLE_PROXY_TYPE=<proxy type (http|https|socks4|socks5)
      #- WHOOGLE_PROXY_LOC=<proxy host/ip>
      # Site alternative configurations, uncomment to enable
      # Note: If not set, the feature will still be available
      # with default values.
      #- WHOOGLE_ALT_TW=farside.link/nitter
      #- WHOOGLE_ALT_YT=farside.link/invidious
      #- WHOOGLE_ALT_IG=farside.link/bibliogram/u
      #- WHOOGLE_ALT_RD=farside.link/libreddit
      #- WHOOGLE_ALT_MD=farside.link/scribe
      #- WHOOGLE_ALT_TL=farside.link/lingva
      #- WHOOGLE_ALT_IMG=farside.link/rimgo
      #- WHOOGLE_ALT_WIKI=farside.link/wikiless
      #- WHOOGLE_ALT_IMDB=farside.link/libremdb
      #- WHOOGLE_ALT_QUORA=farside.link/quetre
    #env_file: # Alternatively, load variables from whoogle.env
      #- whoogle.env
    ports:
      - 5000:5000

Copy and paste the above into your docker-compose.yml

4. Launch Whoogle

Start the Whoogle service using Docker Compose:

sudo docker-compose up -d

The -d flag runs the container in detached mode.

5. Access Whoogle

Open your web browser and navigate to:

http://localhost:5000

If you're running Whoogle on a remote server, replace localhost with your server's IP address.

6. (Optional) Set Up Nginx Reverse Proxy with HTTPS

For secure access over HTTPS and a custom domain, you can set up a reverse proxy using Nginx Proxy Manager.

See the set up instructions for Nginx Proxy Manager here: https://nginxproxymanager.com/setup/

Conclusion

Whoogle provides a seamless, private, and family-friendly search experience by leveraging the power of Google without compromising on privacy or safety. Its ease of setup and robust features make it an ideal choice for families and individuals alike.

Give Whoogle a try today and take control of your search experience!