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/adminand is only reachable if a password is also configured. -
Custom path:
DEGOOG_SETTINGS_PATHmoves 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.
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 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. |
| Shortcuts | Rebind keyboard shortcuts. Hidden unless shortcuts are enabled in Server settings. |
| 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
Eight toggles that change how results behave. 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 eight 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.
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 banner appears at the top of General when an installed extension needs a server restart to work properly. It names the reason and gives you a button that restarts Degoog for you. Searches in flight may be interrupted briefly.
Where settings are actually stored
| What | Stored where |
|---|---|
| Theme, search options, enabled engines, tab order | Your browser (IndexedDB), unless published as instance defaults |
| 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.