Configuration
Nick Sweeting edited this page 2026-09-01 12:03:28 -07:00

Page revisions

174 Commits

Author SHA1 Message Date
Nick Sweeting
14751a4942
Sync documentation from ArchiveBox dev 2026-09-01 12:03:28 -07:00
Nick Sweeting
5937a62bda docs: fix stale config refs across wiki pages + minor typo fixes
Sweep of all prose doc pages to fix references that were stale, wrong,
or pointed at anchors/options that no longer exist in 0.9.x.

Critical (non-functional examples + factual errors):
- All `PUBLIC_SNAPSHOTS=...` examples (Security-Overview, Publishing-
  Your-Archive, Usage) replaced with `PERMISSIONS=public|private`.
- Setting-up-Authentication: drop the "edit CSRF_TRUSTED_ORIGINS in
  archivebox/core/settings.py source" advice (no longer user-settable);
  update auth-permissions list to use PERMISSIONS instead of
  PUBLIC_SNAPSHOTS.
- Security-Overview: SAVE_ARCHIVE_DOT_ORG (with extra underscores)
  was never real; use ARCHIVEDOTORG_ENABLED.
- Docker/Install/Usage: FETCH_TITLE/FETCH_SCREENSHOT/FETCH_PDF/FETCH_DOM
  were never aliases (only FETCH_MEDIA is); replace with real
  <PLUGIN>_ENABLED.
- Troubleshooting: CHROME_BINARY default is `chromium`, not
  `chromium-browser`. Also fixed deprecated `brew cask upgrade
  chromium-browser` -> `brew upgrade --cask chromium`.
- Docker: typo MAX_MEDIA_SIZE -> MEDIA_MAX_SIZE.

Broken Configuration anchors (must be lowercase on GitHub wiki):
- Security-Overview: #FOOTER_INFO / #OUTPUT_PERMISSIONS / #COOKIES_FILE
  -> lowercase.
- Setting-up-Authentication: combined #public_index--public_snapshots--public_add_view
  -> individual #public_index / #public_add_view / #permissions.

Plugin option references now link to abx-plugins:
- CHROME_USER_DATA_DIR / CHROME_BINARY / CHROME_SANDBOX -> /#chrome
- RIPGREP_BINARY -> /#search_backend_ripgrep
- WGET_ENABLED / DOM_ENABLED / SAVE_WGET / SAVE_DOM -> respective anchors
- ARCHIVEDOTORG_ENABLED -> /#archivedotorg
- FAVICON_PROVIDER / FAVICON_ENABLED -> /#favicon
- MEDIA_ENABLED -> /#media

Legacy aliases:
- Scheduled-Archiving: URL_WHITELIST/URL_BLACKLIST -> URL_ALLOWLIST/
  URL_DENYLIST; dropped non-existent `--overwrite` schedule flag.

Dead source links removed:
- Usage: archivebox/main.py + archivebox/config.py (split to cli/ and
  config/common.py).
- Security-Overview: archivebox/extractors/*.py -> plugin anchors.
- Install: dead Configuration#dependency-options and
  Configuration#archive-method-toggles anchors -> abx-plugins reference.

Typo fixes (codespell):
- preferrably -> preferably, necesary -> necessary, Rasberry ->
  Raspberry, sytem -> system, Dissallow -> Disallow, whats -> what's,
  filesytem -> filesystem.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 03:29:27 -07:00
Nick Sweeting
c3fa420f8f fix(snapshots): honor SNAPSHOTS_PER_PAGE without silent clamping; bump default to 50
admin_snapshots.py:571 had min(max(50, SNAPSHOTS_PER_PAGE), 500), and
admin_archiveresults.py:501 had min(max(5, SNAPSHOTS_PER_PAGE), 5000).
Both clamps silently overrode the configured value — a documented
default of 40 was inaccessible in the Snapshot admin, and the
ArchiveResult admin also reused the same setting without being mentioned
in the docs.

- Drop both clamps; admin changelists now use SNAPSHOTS_PER_PAGE as-is.
- Bump the default in common.py from 40 to 50 (matches what users were
  actually seeing in the admin under the old floor).
- Add ge=1 validation so non-positive values are rejected at config
  parse time instead of producing broken pagination.
- Update Configuration.md: new default 50, clarify the option drives
  both Snapshot and ArchiveResult admin changelists plus the public
  index, and that it must be >= 1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 03:02:34 -07:00
Nick Sweeting
31c2e36259 docs: Configuration.md accuracy pass + remove internal-only options
Several inaccuracies + over-documentation cleaned up in one pass:

- ONLY_NEW: completely rewrite. The old prose ("ArchiveBox will never
  re-download sites that have already succeeded previously") was carried
  over from 0.7.x and is wrong in 0.9.x — setting ONLY_NEW=False (or
  --no-only-new) explicitly creates a new Snapshot and re-runs every
  extractor. Now describes the actual behavior: skip URL entirely vs.
  create a new Snapshot for it.
- CRAWL_MAX_CONCURRENT_SNAPSHOTS: fix the "each concurrent Snapshot
  launches its own Chrome instance" claim. Chrome is crawl-scoped by
  default (CHROME_ISOLATION="crawl") — concurrent Snapshots share the
  crawl's Chrome via tabs, not separate browser processes.
- BASE_URL: drop the "admin.admin.admin.<host> compounding bug"
  reference. Config docs shouldn't explain legacy bugs.
- Remove derived/runtime-only options that are NOT user-settable:
  ACTIVE_PERSONA (set by persona resolver), CRAWL_DIR/SNAP_DIR (injected
  by orchestrator per-call), DATA_DIR (derived from cwd), ARCHIVE_DIR
  (derived from DATA_DIR/archive), USERS_DIR (derived from ARCHIVE_DIR),
  PERSONAS_DIR (derived from DATA_DIR), LIB_BIN_DIR (tracks LIB_DIR),
  DATABASE_NAME (derived from DATA_DIR/index.sqlite3). Backward-compat
  <a id="..."></a> anchors preserved for all of them above the nearest
  surviving heading so external links still resolve.
- LIB_DIR: fix default path. The doc claimed "<DATA_DIR>/lib/<arch>-<os>"
  but constants.py:117 uses platformdirs.user_config_path("abx") / "lib"
  — the XDG user-config dir, not inside the data folder. Updated to the
  actual default.
- ENABLED_PLUGINS section dropped (option removed in a separate commit);
  anchor redirected to PLUGINS.
- Drop the "Pydantic config" implementation-detail mention in PUID/PGID.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 02:56:49 -07:00
Nick Sweeting
1d7fe92ed6 fix: run crawl delete test through orchestrator 2026-05-31 02:39:51 -07:00
Nick Sweeting
c19e2f4add docs: rewrite Configuration.md (remove plugin tree, add Database/crawl limits, redirect to abx-plugins)
This rewrite (now reapplied on top of the wiki subtree) covers the full
session's work on Configuration.md:

- Add crawl/snapshot limits (CRAWL_MAX_URLS/SIZE/TIMEOUT,
  CRAWL_MAX_CONCURRENT_SNAPSHOTS, SNAPSHOT_MAX_SIZE), DELETE_AFTER,
  PERMISSIONS, PLUGINS/ENABLED_PLUGINS/ACTIVE_PERSONA.
- Add new Database Settings section (SQLITE_* tuning + DATABASE_NAME).
- Add SERVER_SECURITY_MODE deep-dive (4 modes, host-layout table).
- Add Storage path overrides (DATA_DIR, ARCHIVE_DIR, USERS_DIR,
  PERSONAS_DIR, CRAWL_DIR, SNAP_DIR, ALLOW_NO_UNIX_SOCKETS).
- Remove ALLOWED_HOSTS + CSRF_TRUSTED_ORIGINS as user-settable; both
  auto-derived from BASE_URL + SERVER_SECURITY_MODE. Backward-compat
  anchors preserved on BASE_URL with the 0.7.3 -> 0.9 legacy upgrade note.
- Remove the entire Plugin Settings tree (~200 options, 41 subsections);
  replace with prominent redirect to https://archivebox.github.io/abx-plugins/
  and a "shared core options that plugins fall back to" table.
- Add 231 backward-compat <a id="..."></a> anchors so old URLs to plugin
  sections / removed options / multi-option headers all still resolve
  (e.g. #wget_args -> Plugin Configuration section, #public_snapshots ->
  PERMISSIONS, #ssl_enabled -> Plugin Configuration, #admin_username ->
  ADMIN_USERNAME/PASSWORD heading, #dir_output_permissions ->
  OUTPUT_PERMISSIONS, #url_blacklist -> URL_DENYLIST).
- Fix wrong default: PUBLIC_ADD_VIEW is False, not True.
- Drop the 7 TRAFILATURA_OUTPUT_* per-format flags (replaced by single
  TRAFILATURA_OUTPUT_FORMATS in plugin); SSL_ENABLED/SSL_TIMEOUT (wrong
  plugin namespace) — anchors redirected to Plugin Configuration.
- Reframe COOKIES_FILE as low-level escape hatch; personas are the
  preferred auth path.
- Link every named plugin to its specific anchor on the abx-plugins page
  (e.g. WGET_TIMEOUT -> #wget, SONIC_HOST -> #search_backend_sonic).
- Strip implementation-detail mentions (Pydantic, etc.).
- Slim Shell Options to only user-settable (DEBUG, USE_COLOR,
  SHOW_PROGRESS); drop IS_TTY/IN_DOCKER/IN_QEMU.
- Restructure: General -> Server (+LDAP) -> Storage -> Database (new) ->
  Search -> Shell -> Plugin Configuration.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 02:24:36 -07:00
Nick Sweeting
7244076ece update docs 2026-03-25 05:34:43 -07:00
Nick Sweeting
0a40687a49
Restructure Configuration.md: group all options by plugin
Every plugin now has its own ### section containing all its config
options (_ENABLED, _TIMEOUT, _BINARY, _ARGS, etc.) together.

Structure:
  ## General Settings (core archiving options)
  ## Server Settings (web UI, auth, reverse proxy)
    ### LDAP Settings
  ## Storage Settings (permissions, tmp/lib dirs)
  ## Search Settings (backend engine selection)
  ## Shell Options (debug, color, progress)
  ## Plugin Settings
    ### Title Settings
    ### Wget Settings (WGET_ENABLED, WGET_BINARY, WGET_ARGS, etc.)
    ### Chrome Settings (all chrome options together)
    ### Screenshot Settings
    ... (47 plugin sections total)

All 189 plugin config keys have flat #### headings for hotlinking.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 17:23:40 -07:00
Nick Sweeting
95241e3032
Replace all config tables with flat #### headings for hotlinking
Every config option now has its own #### `KEY` heading so GitHub wiki
anchors work for direct linking (e.g. Configuration#SEO_ENABLED).

Converted 9 tables: Chrome sub-extractors, Chrome extensions, URL
parsers, Sonic search, SQLite FTS, Infinite scroll, 2captcha, Modal
closer, and LDAP settings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 16:40:13 -07:00
Nick Sweeting
b304ea7095
Document all 189 plugin config options with hotlinkable headings
Every config option now has its own #### `KEY` heading so it can be
directly linked as Configuration#KEY from the wiki or other docs.

Covers all extractor plugins, Chrome sub-extractors, Chrome extensions,
URL parsers, AI plugins, and search backends with their full set of
_ENABLED, _TIMEOUT, _BINARY, _ARGS, _ARGS_EXTRA, _USER_AGENT,
_CHECK_SSL_VALIDITY, _COOKIES_FILE, and unique options.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 16:19:57 -07:00
Nick Sweeting
b384c93958
Update Configuration.md with all config options for ArchiveBox v0.9.x
- Add 40+ missing core config options (server, storage, search, shell settings)
- Document new plugin-based extractor toggle naming (PLUGINNAME_ENABLED)
- Add Chrome sub-extractor toggles (DNS, SSL, headers, redirects, etc.)
- Add Chrome extension toggles (uBlock, cookie banner, 2captcha, etc.)
- Add URL parser toggles (HTML, JSONL, Netscape, RSS, TXT)
- Document new options: SAVE_ALLOWLIST/SAVE_DENYLIST, DEFAULT_PERSONA,
  BIND_ADDR, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, CHROME_WAIT_FOR,
  CHROME_DELAY_AFTER_LOAD, CHROME_ARGS_EXTRA, YTDLP_MAX_SIZE, etc.
- Add complete LDAP settings section with all 11 options
- Add plugin settings section explaining naming conventions
- Update source code link to point to archivebox/config/common.py
- Reorganize into logical sections matching the config module layout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 16:03:45 -07:00
Nick Sweeting
f95cdf81c9
fix docs 2026-03-15 15:29:02 -07:00
Nick Sweeting
597014c223 Updated Configuration (markdown) 2024-10-07 13:58:38 -07:00
Nick Sweeting
c1db63aa24 Updated Configuration (markdown) 2024-10-07 13:57:55 -07:00
Nick Sweeting
6a7e42999f Updated Configuration (markdown) 2024-05-08 18:02:43 -07:00
Nick Sweeting
29b896b5b0 Updated Configuration (markdown) 2024-05-08 17:59:51 -07:00
Nick Sweeting
70b9e6fdce Updated Configuration (markdown) 2024-03-14 13:32:27 -07:00
Nick Sweeting
da93ecc187 Updated Configuration (markdown) 2024-03-14 01:12:44 -07:00
Nick Sweeting
b4c69128cb Updated Configuration (markdown) 2024-03-14 01:10:44 -07:00
Nick Sweeting
9fd9de24b9 Updated Configuration (markdown) 2024-03-14 00:51:00 -07:00
Nick Sweeting
aa7130d340 Updated Configuration (markdown) 2024-02-29 01:54:11 -08:00
Nick Sweeting
afbc11058a Updated Configuration (markdown) 2024-02-20 17:25:42 -08:00
Nick Sweeting
23fdda7322 Updated Configuration (markdown) 2024-02-18 18:02:13 -08:00
Nick Sweeting
22603809f8 Updated Configuration (markdown) 2024-02-18 05:52:20 -08:00
Nick Sweeting
c495898948 Updated Configuration (markdown) 2024-02-18 05:51:32 -08:00
Nick Sweeting
cd29a40521 Updated Configuration (markdown) 2024-02-18 04:45:20 -08:00
Nick Sweeting
bd1ad9a27b Updated Configuration (markdown) 2024-02-18 04:45:00 -08:00
Nick Sweeting
c77285521b Updated Configuration (markdown) 2024-02-18 04:44:06 -08:00
Nick Sweeting
df5e4b5d78 Updated Configuration (markdown) 2024-02-18 04:42:58 -08:00
Nick Sweeting
9891f3e64c Updated Configuration (markdown) 2024-02-18 04:42:03 -08:00
Nick Sweeting
271f08b6e0 Updated Configuration (markdown) 2024-02-18 04:41:38 -08:00
Nick Sweeting
e399d11451 Updated Configuration (markdown) 2024-02-18 04:40:57 -08:00
Nick Sweeting
e1e9a7303e Updated Configuration (markdown) 2024-02-18 04:40:25 -08:00
Nick Sweeting
7fe0631024 Updated Configuration (markdown) 2024-02-18 04:39:06 -08:00
Nick Sweeting
6d0910ffed Updated Configuration (markdown) 2024-02-18 04:38:32 -08:00
Nick Sweeting
7f39599b76 Updated Configuration (markdown) 2024-01-23 14:48:56 -08:00
Nick Sweeting
d50dae8a9e Updated Configuration (markdown) 2024-01-23 14:47:36 -08:00
Nick Sweeting
b0421ac9b8 Updated Configuration (markdown) 2024-01-23 14:44:55 -08:00
Nick Sweeting
0441592cfb Updated Configuration (markdown) 2024-01-23 14:43:59 -08:00
Nick Sweeting
c14a9ba7de Updated Configuration (markdown) 2024-01-23 14:41:22 -08:00
Nick Sweeting
427bce821c Updated Configuration (markdown) 2024-01-19 03:20:05 -08:00
Nick Sweeting
72b728cccd replace i.imgur.com links with imgur.zervice.io mirror 2024-01-19 01:38:59 -08:00
Nick Sweeting
f9ca0bcb14 Updated Configuration (markdown) 2024-01-04 12:05:53 -08:00
Nick Sweeting
b6a9cbe488 Updated Configuration (markdown) 2024-01-04 12:05:09 -08:00
Nick Sweeting
f5a8542d55 Updated Configuration (markdown) 2024-01-04 12:04:37 -08:00
Nick Sweeting
59198f3cc9 Updated Configuration (markdown) 2023-11-14 02:16:34 -08:00
Nick Sweeting
85dc701868 Updated Configuration (markdown) 2023-11-14 02:14:19 -08:00
Nick Sweeting
b7a368bfae build docs 2023-11-13 23:47:38 -08:00
Nick Sweeting
58db5653f5 Updated Configuration (markdown) 2023-10-18 11:58:21 -07:00
Nick Sweeting
29797872d0 Updated Configuration (markdown) 2023-02-24 11:31:52 -08:00