Degoog Docs

Degoog

A search aggregator you run yourself. One search box, as many engines as you want behind it. Brought to you by fccview.

The Degoog home page with the search box, settings entry point, and extension areas visible.
The Degoog home page.

What Degoog actually is

You type one query. Degoog asks every search engine you have enabled, at the same time, from your server. It merges what comes back by aggregating unique URLs, scores it, and hands you one list. Nothing you type goes to any evil corp, and no account follows you around.

The core is deliberately small. Almost everything interesting is an extension: search engines, autocomplete providers, transports, themes, plugins, and keyboard shortcuts all live outside the core and get installed from git repositories through the Store.

Degoog ships with zero search engines installed. That is intentional, not a bug. A fresh install returns nothing until you add at least one engine. The setup wizard walks you through it on first run.

Extensions

Extension What it does
Engine The place search results come from. Google, Brave, Wikipedia, your Jellyfin library, whatever you install or build yourself. Each engine declares a type (web, images, videos, news, files, anything goes really, I've seen "weeb" declared too), and those types become the tabs on your results page. You can customise/reorder types from the settings page, but I am getting ahead of myself.
Autocomplete provider Supplies the live suggestions under the search box as you type. Separate from engines they live in their own extension type. This allows for separate rate limiting and other customisation.
Transport How your server makes outgoing requests. Plain fetch, curl, curl wearing a browser's TLS fingerprint, a headless browser, or a real Firefox session. You pick one per engine when the default gets blocked. This is where degoog really shines. If you like tinkering you'll most definitely find ways to stick it to the man!
Plugin Anything that adds behaviour: !bang commands, panels above or beside your results, extra result tabs, query rewriting, whole HTTP routes, pokemon results, random numbers, weather, calculators, whatever you can dream up.
Theme Restyles the entire UI. One built-in theme ships with the app, more are available in the Store.
Shortcut A keyboard binding. Focusing the search box is built in, the rest are installable and fully rebindable. You can even bind a shortcut to a plugin!

What is built in?

Not much, frankly, and that is the point. Out of the box you get:

  • Four bang commands: !help, !ip, !speedtest, and !uuid.
  • Two result panels: At a glance (a preview of the top result) and Wikipedia (a knowledge card in the sidebar).
  • Four transports: Fetch, Curl, Curl Fallback, and Curl Impersonate.
  • One theme, one keyboard shortcut (/ to focus the search box), and the optional Degoog Indexer engine.

Where to go from here?

  • Getting started if you have not run it yet, or you just installed it and the results page is empty.
  • Using search for tabs, filters, result actions, and keyboard shortcuts.
  • Tips and tricks when an engine keeps failing and you want to know why. Google in particular has opinions about being scraped.
  • Settings for how the settings page is laid out and what belongs to you versus the instance.
  • Server settings if you run the instance for other people.

Running Degoog

The short version, with Docker:

mkdir -p ./data
sudo chown -R 1000:1000 ./data

docker run -d --name degoog \
  -p 4444:4444 \
  -v ./data:/app/data \
  -e DEGOOG_SETTINGS_PASSWORDS=change-me \
  --restart unless-stopped \
  ghcr.io/degoog-org/degoog:latest

Then open http://localhost:4444. Ready-made compose files for Valkey, Postgres, and the MCP sidecar live in docker-compose-examples in the repository. The longer version, including running without Docker, is in Getting started.

Degoog is in stable beta. It is genuinely usable day to day and people run public instances on it, but expect the occasional rough edge. If something looks wrong, Troubleshooting is the first stop.

Building your own extensions

Every extension type has a documented contract and a CLI scaffold. Flip the sidebar switch to Developer docs when you want to write an engine, a theme, a transport, or a plugin of your own.