Repository navigation
Discover and Recommendations
Discovery works with TMDB alone. AI recommendations are a separate, optional capability and are not required to request media.
| Experience | Required | Optional |
|---|---|---|
| Search, trending, details, artwork, cast, trailers, providers | Verified TMDB connection | None |
| Generate personalized recommendations | A verified OpenAI-compatible connection and healthy worker | TMDB enrichment (required for strict original-language filtering), watch history, and preference context |
| Request a discovered or recommended title | A ready request path for that media type | Notifications |
- Open Settings → Connections.
- Add TMDB and enter an API token.
- Test the connection before saving it.
- Return to Setup Center and confirm TMDB is reported as verified.
- Open Discover and search for a known title.
If artwork or results do not load, retest TMDB and inspect Health and diagnostics before changing unrelated services.
- Add an OpenAI-compatible connection.
- Enter the provider base URL, model, and credentials expected by that provider.
- Test and save the connection.
- Open Recommendations, choose movie or TV, and start a run.
Recommendation work is persisted and executed by the background worker. A slow local or reasoning model can legitimately take several minutes; AI_RECOMMENDATIONS_TIMEOUT_MS controls the upper bound and defaults to 30 minutes. See Configuration reference.
Nooklet records the run, candidate items, feedback, and timeline state. A request started from a recommendation enters the same download and import workflow as a request started elsewhere.
Past Picks filtering, total/filtered counts, and page boundaries execute in SQLite so large histories are not materialized in application memory. The operational-retention job may prune old recommendation timeline events, but it does not delete recommendation runs or items.
The selected AI provider receives the prompt and the context assembled for the run. Treat its base URL and credentials as sensitive configuration, and review the provider's retention policy. Watch history remains optional; disable or remove a source if it should not influence future runs.
| Symptom | Check |
|---|---|
| Discover is empty | Verify TMDB and outbound internet access. |
| Recommendation remains pending | Confirm the worker is responsive on /health and inspect recent logs. |
| Provider times out | Verify the base URL from inside Docker, model name, provider health, and timeout. |
| Recommendation is visible but cannot be requested | Setup Center must show a ready movie or TV request path. |
| A private provider address is rejected | Add its exact host or IP to PRIVATE_SERVICE_HOST_ALLOWLIST; see Service connections. |
Last reviewed: August 6, 2026.
Nooklet repository · Features · User guide · Engineering dossier · Issues · Private security advisory
Documentation last reviewed against main: August 19, 2026.
Nooklet
Start here
- Getting started
- Guided Docker setup
- Docker installation
- Native installation (advanced)
- First-time setup
Configure
Use Nooklet
- Discover and recommendations
- Library and requests
- YouTube monitoring
- Downloads and import
- Watch history
- Automation and notifications
Operate
- Health and diagnostics
- Backup, restore, upgrades
- Accounts and users
- Troubleshooting
- Multi-instance boundaries
Engineering