Skip to content
CookDex docs
You're reading the docs for CookDex v2026.9.1, an earlier release. See this page in the latest docs.

Task reference

Every CookDex task, with its options, is on one of the pages below. Each task is also documented in place on CookDex’s Help page. To run tasks on a schedule, see Scheduling; for what a task may change, see Safety policies.

Task ID Title Purpose
data-maintenance Data Maintenance Pipeline Run staged cleanup and audit steps in order, or select a subset of stages.
clean-recipes Clean Recipe Library Remove duplicate source URLs, filter junk content, and normalize messy import names.
slug-repair Repair Recipe Slugs Detect slug/name mismatches and fix them through Direct DB when applying changes.
ingredient-parse Ingredient Parser Parse raw ingredient text into structured food, unit, and quantity fields.
yield-normalize Yield Normalizer Fill missing yield text or parse yield text into numeric servings.
reimport-recipes Re-import Recipes Re-scrape source URLs while preserving recipe identity, favorites, and organization.
health-check Health Check Run read-only recipe quality and taxonomy audits.
recipe-dredger Recipe Dredger Crawl configured recipe sites, verify recipe pages, filter by language, and import verified URLs into Mealie.
mealie-backup Mealie Backup Create a Mealie backup through the admin API and optionally prune old backups.
cleanup-duplicates Clean Up Duplicates Merge duplicate food, unit, tag, and category entries.
tag-categorize Tag & Categorize Recipes Assign categories, tags, and tools with rule matching and optional AI.
taxonomy-refresh Refresh Taxonomy Sync categories, tags, labels, and tools from CookDex config into Mealie.
cookbook-sync Cookbook Sync Create and update cookbooks from cookbook configuration rules.

In the web UI, tasks are grouped as Data Pipeline (data-maintenance, recipe-dredger, mealie-backup), Actions (clean-recipes, slug-repair, ingredient-parse, yield-normalize, cleanup-duplicates, reimport-recipes), Organizers (tag-categorize, taxonomy-refresh, cookbook-sync) and Audits (health-check).

Every task works through Mealie’s API. Some tasks can also use Direct DB, configured in Settings → Direct DB; those tasks have a use_db option to turn it on for a run.

Runtime settings are managed through GET /settings and PUT /settings.

  • Non-secret values are stored in the app state database.
  • Secret values are encrypted at rest.
  • Task runs receive the effective runtime environment built from the settings catalog.
  • .env is optional and mainly useful for server overrides, pre-seeding values, or headless deployments.

Main setting groups:

Group Examples
Connection MEALIE_URL, MEALIE_API_KEY
AI CATEGORIZER_PROVIDER, OPENAI_API_KEY, ANTHROPIC_API_KEY, OLLAMA_URL, model settings
Dredger DREDGER_TARGET_LANGUAGE, DREDGER_CRAWL_DELAY, DREDGER_CACHE_EXPIRY_DAYS
Web UI WEB_BIND_PORT, WEB_BASE_PATH, WEB_SESSION_TTL_SECONDS
Direct DB MEALIE_DB_TYPE, Postgres credentials, SSH tunnel settings
Runner MAX_RUN_DURATION_SECONDS

Every setting is editable in Settings, which is also the complete reference: each field shows its group, default, and description. A few that are easy to miss:

Setting Default Purpose
UPDATE_CHECK_ENABLED true Check GitHub for releases on startup and about daily. Disabled means no update request. Only the app version is sent; GitHub sees the server network address. Failures show no banner.
TAXONOMY_REFRESH_MODE merge Default taxonomy refresh mode: merge keeps existing entries, replace matches the source exactly.
AI_BATCH_HEARTBEAT_SECONDS 30 Seconds between progress messages while an AI batch is in flight. Set 0 to disable.
OLLAMA_REQUEST_TIMEOUT 300 Seconds to wait for each Ollama request before retrying.
OLLAMA_NUM_THREAD 4 CPU threads used by Ollama generation. Raise it if the host has cores to spare.

The web UI keeps the most recent 500 runs. Older run records are pruned by a periodic housekeeping job, along with their log entries; task log files are rotated separately by the runner. Export anything you need to retain long-term before it ages out.