Degoog Docs

Degoog Settings

How the settings page is laid out, what belongs to your browser, and what belongs to the instance.

Getting in

The settings icon is in the top right of the home page and the results page. Where it takes you depends on how the instance is configured:

  • Normal instance: /settings.
  • Public instance (DEGOOG_PUBLIC_INSTANCE=true): visitors get a cut-down page with just appearance, search options, and engine toggles. The full admin page moves to /admin and is only reachable if a password is also configured.
  • Custom path: DEGOOG_SETTINGS_PATH moves the admin page to any string you like, which is a reasonable way to make it undiscoverable.

If a password gate appears, that is DEGOOG_SETTINGS_PASSWORDS doing its job. If you never set one, Degoog generated a temporary password and printed it in the server logs at startup. See Getting started.

The settings page with a lock icon, the text 'Settings are locked. Enter the password.', a password box and an Unlock button. The settings page with a lock icon, the text 'Settings are locked. Enter the password.', a password box and an Unlock button.
The password gate. Type the password and hit Unlock.

Signing in stores a session token in an HttpOnly, SameSite=Strict cookie. It also unlocks the domain action menus on result rows, which is why those disappear when you are signed out.

The General tab of settings. The left menu lists General, Server, Indexer, Engines, Plugins, Transports, Autocomplete, Favicons, Shortcuts, Themes and Store. On the right are the Appearance theme picker and the Search options checkboxes. The General tab of settings. The left menu lists General, Server, Indexer, Engines, Plugins, Transports, Autocomplete, Favicons, Shortcuts, Themes and Store. On the right are the Appearance theme picker and the Search options checkboxes.
The settings page with its tab navigation.

The tabs

Tab What lives there
General Theme, search options, instance defaults, the setup tour, app install, and the version check. Covered below.
Server Everything instance-wide: presets, rate limits, bot control, proxies, domain rules, cache, API key, streaming. See Server settings.
Indexer Only appears once the indexer is switched on in Server settings. See Indexer.
Engines Enable, disable, configure, group, and reorder your search engines. See Engines and providers.
Plugins Every installed plugin plus the built-in commands and panels, each with its own settings.
Transports Outgoing HTTP clients, built-in and installed. See Transports.
Autocomplete Suggestion providers, one toggle each.
Favicons Favicon shape and favicon providers. Toggle providers and drag them into the order Degoog asks them in. See below.
Shortcuts Rebind keyboard shortcuts. Add shortcut lets you write your own, see Shortcuts in the developer docs.
Themes Switch the active theme.
Store Add repositories, browse the catalogue, install and update. See Store and extensions.

There is a search box above the tabs that filters the settings on the current page. Handy once you have a few dozen extensions.

The General tab

Appearance

System default, light, or dark. Stored in your browser.

Search Options

Nine toggles that change how results behave, plus a picker for the engine badges in the results sidebar. They are documented in full in Using search.

Instance defaults

This is the part that surprises people, so it is worth being precise about.

Your theme, your nine search options, and your enabled engines all live in your browser, not on the server. Two people using the same instance can have completely different setups, which is the intended behaviour.

Save current settings as defaults takes your current browser settings and publishes them as the starting point for anyone who visits without settings of their own. It does not overwrite anyone. Each visitor's own choices always win over the instance defaults.

Reset to instance defaults goes the other way: it throws away your local choices and adopts the instance defaults. There is a confirmation, because it does replace your saved settings on that browser.

The Engines tab has its own pair of these buttons for engine selection specifically.

The Instance defaults card with the text 'Push this browser's settings as the starting point for new visitors. Whatever they change locally still wins.' and two buttons, Save current settings as defaults and Reset to instance defaults. The Instance defaults card with the text 'Push this browser's settings as the starting point for new visitors. Whatever they change locally still wins.' and two buttons, Save current settings as defaults and Reset to instance defaults.
The two instance default buttons on the General tab.

Setup tour

Restarts the first-run wizard from the home page. Useful when you have forgotten where something lives.

Install app

Asks your browser to show the install prompt again. Requires HTTPS and a browser that supports progressive web apps; over plain HTTP nothing will happen.

Version

Shows your installed version alongside the newest release on GitHub, with the date of the last check. It checks at most once a day on its own, and there is a Check Now button plus a link to the release notes.

Restart required

A pop-up appears when an installed extension needs a server restart to work properly. It names the extensions and gives you a button that restarts Degoog for you, or Not now if you'd rather do it later from Settings, Server, Restart server. Searches in flight may be interrupted briefly.

The Favicons tab

The icon next to each result comes from a favicon provider. Install providers from Settings, Store with the Favicon filter and they show up here. The official store has Google, DuckDuckGo, Kagi, Yandex, Site favicon and Identicon.

Favicon shape sits at the top of the tab. Pick circle (the default), rounded square, square, squircle, hexagon, star or flower. It saves on click and applies to everyone on the instance. Every icon shows at the same size. The shapes other than circle cut each icon to that shape, and on the normal page, icons 32px or larger are zoomed in a little to fill it. Custom themes may ignore this setting.

When the indexer is on, a Degoog card sits above the providers. It is the favicon store, icons your instance already saved. Degoog always checks it before any provider, so you can't drag it. It is on by default. Turn it off and every icon comes from the providers and the cache. With every provider switched off it still serves the icons it has saved, and sites it has no icon for get a letter.

The Favicons tab. A row of seven favicon shapes with the note 'Custom themes may ignore this.' Below it a Degoog card that is switched on, then Google Favicons and DuckDuckGo Favicons, each with a Configure button, a switch and a drag handle. The Favicons tab. A row of seven favicon shapes with the note 'Custom themes may ignore this.' Below it a Degoog card that is switched on, then Google Favicons and DuckDuckGo Favicons, each with a Configure button, a switch and a drag handle.
The Favicons tab with the indexer on, so the Degoog card shows above the providers.
  • Degoog never asks a disabled provider.
  • Drag the provider cards to set the order. Degoog asks the top one first and moves down when a provider has no icon for that domain, or returns one that doesn't load. A provider you just installed goes to the bottom until you move it.
  • A provider with options gets a Configure button. Every provider has an Outgoing HTTP client under Advanced, as engines do.

With every provider off and the store off too, results show a dashed placeholder with a "No favicon extension installed" tooltip. Engines and providers has more.

Where settings are actually stored

What Stored where
Theme, search options, enabled engines Your browser (IndexedDB), unless published as instance defaults
Result tab order data/server-settings.json, the same for everyone
Extension settings (per plugin, engine, theme, transport, provider) data/plugin-settings.json on the server
Server settings (rate limits, honeypot, streaming, API key, indexer flag) data/server-settings.json
Instance default engines data/default-engines.json
Domain block, replace, and score lists data/search/search-lists.json
Bang aliases data/aliases.json
Banned IPs data/blocklist.json

All of those paths can be moved with environment variables. Server-side settings are written atomically, so a crash mid-save will not leave you with a truncated JSON file.

When a setting will not stick

  • Check whether it is a browser setting. Clearing site data resets theme, search options, and engine selection.
  • On a public instance most server settings are read-only for visitors, and the mutation endpoints return Unauthorized by design.
  • If a list is very large, Degoog stops rendering it in the UI and tells you to edit the file directly. That is deliberate, not a failure.
  • If nothing at all saves, check the server logs. See Viewing server logs.