Docker Setup¶
This guide explains how to configure Docker (or Podman) so the plugin can start Redis Stack and the Python worker reliably.
1) Install and start Docker/Podman¶
Install one of:
- Docker Desktop
- Podman (+ Compose support)
Start the daemon/runtime before using the plugin.
Quick checks:
docker version
docker compose version
For Podman:
podman version
podman compose version
2) Configure file sharing¶
If you use Docker Desktop or Podman Desktop, ensure your vault path is shared/mountable.
If file sharing is missing, Redis startup usually fails with mount errors (for example, Mounts denied or operation not permitted).
3) Configure plugin prerequisites¶
In Settings → Prerequisites:
- Docker/Podman path: set the CLI binary (
docker/podmanor full path). - Python runtime: set to Python worker container (recommended).
- Redis URL: keep default unless you run your own Redis.
- Auto-assign Redis port: recommended to avoid port conflicts across vaults.
- Auto-start Redis stack: enable if you want automatic startup when needed.
Then click Start Redis stack now once to validate setup.
Optional: customize OCR language packs baked into the worker image with ZRR_TESSERACT_LANG_PACKS.
Default is eng deu fra spa ita nld por pol swe.
Example:
export ZRR_TESSERACT_LANG_PACKS="eng deu fra"
docker compose build python-worker
docker compose up -d redis-stack python-worker
4) Verify Redis + Python worker startup¶
If needed, run:
docker compose config
docker compose pull redis-stack
docker compose up -d redis-stack python-worker
docker compose ps -a
docker compose logs redis-stack
docker compose logs python-worker
Common pitfalls¶
- Daemon not running: CLI exists but Docker/Podman engine is stopped.
- Wrong binary path: plugin points to a non-working executable.
- Compose unavailable: Podman needs
podman composeorpodman-compose. - Port conflict:
6379already in use (enable Auto-assign Redis port). - Invalid override paths: custom Redis data/project override folders are missing or not writable.
- Network/auth issues: image pull blocked by proxy, firewall, or credential errors.