- Knownframe
- CookDex
- Docs
- v2026.9.1
- Install CookDex
Install CookDex
CookDex runs on your server next to Mealie, from GitHub Container Registry (ghcr.io/thekannen/cookdex). This page ends with the container running; Getting started picks up at first login.
Install
Section titled “Install”-
Download the compose file:
Terminal window mkdir -p cookdex && cd cookdexcurl -fsSL https://raw.githubusercontent.com/thekannen/cookdex/main/compose.ghcr.yml -o compose.yamlNo
.envfile is required. To override defaults (port, base path, etc.), optionally download and edit.env.example:Terminal window curl -fsSL https://raw.githubusercontent.com/thekannen/cookdex/main/.env.example -o .env -
Start the service:
Terminal window docker compose pull cookdexdocker compose up -d cookdex -
Check that it’s running:
Terminal window curl -k https://localhost:4820/cookdex/api/v1/health
Next: open https://localhost:4820/cookdex and follow Getting started.
Required volumes
Section titled “Required volumes”| Host path | Container path | Purpose |
|---|---|---|
./cache |
/app/cache |
SQLite state database, encryption key, and TLS certificate |
./logs |
/app/logs |
Task run log files |
./reports |
/app/reports |
Audit and maintenance reports |
The ./cache volume stores the state database (taxonomy, settings, run history, schedules), the auto-generated encryption key, and the TLS certificate. Keep this volume persistent.
Updating
Section titled “Updating”Update in place; your settings, run history and schedules stay in ./cache.
docker compose pull cookdexdocker compose up -d --remove-orphans cookdexAfter updating, verify login and check /cookdex/api/v1/health.
Image tags
Section titled “Image tags”| Tag | Tracks |
|---|---|
latest |
The most recent release (default) |
v2026.x.y |
A specific release, never moved |
edge |
The newest build from main, which may include unreleased changes |
sha-<commit> |
A specific main build; only the 20 most recent are kept |
To use a different tag, set COOKDEX_TAG in .env.
- All runtime settings are managed from the Settings page after login.
- Secrets are encrypted at rest using an auto-generated key (stored in
./cache). - An optional
.envfile can pre-seed settings or override defaults for headless deployments.