Pulling the image
Basic usage
The container’s entrypoint is thenotewise binary. Pass any subcommand and flags as arguments to docker run.
Mount /output to receive the generated notes on your host filesystem, and pass your API key as an environment variable:
The working directory inside the container is
/output. NoteWise writes study notes there by default, so mounting -v "$(pwd)/output:/output" is all you need to get the files onto your host.Using —no-ui in containers
The Rich live dashboard requires a TTY. In non-interactive environments (CI, scripts, cron), add--no-ui to print plain progress lines to stdout instead:
-t:
Environment variables
Pass API keys and configuration as-e flags. The table below lists the most common variables:
| Variable | Description |
|---|---|
GEMINI_API_KEY | Google Gemini API key (default provider) |
OPENAI_API_KEY | OpenAI API key |
ANTHROPIC_API_KEY | Anthropic API key |
GROQ_API_KEY | Groq API key |
XAI_API_KEY | xAI (Grok) API key |
MISTRAL_API_KEY | Mistral API key |
COHERE_API_KEY | Cohere API key |
DEEPSEEK_API_KEY | DeepSeek API key |
DEFAULT_MODEL | Override the default LLM model string |
OUTPUT_DIR | Override the output directory inside the container |
TEMPERATURE | LLM sampling temperature (0.0–1.0) |
MAX_TOKENS | Max tokens per LLM response |
MAX_CONCURRENT_VIDEOS | Parallel video processing limit |
YOUTUBE_REQUESTS_PER_MINUTE | YouTube request rate limit |
YOUTUBE_COOKIE_FILE | Path to Netscape cookie file inside the container |
--env-file to pass multiple variables from a local file:
Mounting a cookie file
To process private or restricted videos, mount your Netscape-format cookie file into the container and pass its in-container path with--cookie-file:
:ro (read-only) is a good practice — the container does not need to write to it.
Persisting the cache and config
By default, each container run starts with an empty NoteWise state directory. To persist the cache and config across runs, mount the.notewise directory:
/home/notewise/.notewise (set by the NOTEWISE_HOME environment variable in the image). Mounting a host directory there means the cache database and log files survive between runs, and already-processed videos are skipped automatically.
Non-root user
The container runs as a dedicated non-root user namednotewise with uid 1001 and gid 1001. If you are mounting host directories, ensure the host path is writable by uid 1001: