Skip to content

fix: expose embedding backend env vars in docker-compose and setup.sh#30

Merged
ClaudioDrews merged 1 commit into
mainfrom
fix/embedding-vars-docker-compose
Jun 10, 2026
Merged

fix: expose embedding backend env vars in docker-compose and setup.sh#30
ClaudioDrews merged 1 commit into
mainfrom
fix/embedding-vars-docker-compose

Conversation

@ClaudioDrews

Copy link
Copy Markdown
Owner

Summary

The worker container (cognitive-worker) reads EMBEDDING_API_BASE, EMBEDDING_MODEL, and EMBEDDING_API_KEY from environment variables (see embedding.py), but docker-compose.yml never passed these through — only EMBEDDING_DIMS was exposed. Users wanting to use Ollama, vLLM, or any non-OpenRouter embedding backend in the Docker stack had no way to configure it.

Changes

File Change
docker/docker-compose.yml +3 env vars on worker.environment with backward-compatible defaults
setup.sh +3 add_env calls for consistency with the existing EMBEDDING_DIMS entry

Default values

All defaults match the existing defaults in embedding.py, so current OpenRouter/Qwen3 users are unaffected:

  • EMBEDDING_API_BASEhttps://openrouter.ai/api/v1
  • EMBEDDING_MODELqwen/qwen3-embedding-8b
  • EMBEDDING_API_KEY"" (optional, only needed for authenticated non-OpenRouter endpoints)

Verification

$ python3 -m py_compile docker/worker/services/embedding.py
✅ OK

$ cd docker && docker compose config | grep EMBEDDING
      EMBEDDING_API_BASE: https://openrouter.ai/api/v1
      EMBEDDING_API_KEY: ""
      EMBEDDING_DIMS: "4096"
      EMBEDDING_MODEL: qwen/qwen3-embedding-8b

Usage after this fix

# Ollama (local)
EMBEDDING_API_BASE=http://host.docker.internal:11434/v1 \
EMBEDDING_MODEL=nomic-embed-text \
docker compose up -d

# Or via .env:
echo "EMBEDDING_API_BASE=http://host.docker.internal:11434/v1" >> .env
echo "EMBEDDING_MODEL=nomic-embed-text" >> .env

Closes #29

… docker-compose and setup.sh

The worker container could not be configured to use an alternative
embedding backend (Ollama, vLLM, etc.) because docker-compose.yml
did not pass through EMBEDDING_API_BASE, EMBEDDING_MODEL, or
EMBEDDING_API_KEY. The worker code (embedding.py) already reads
these env vars — only the compose file was missing the plumbing.

Changes:
- docker-compose.yml: add 3 env vars to worker.environment with
  defaults preserving current OpenRouter/Qwen3 behavior
- setup.sh: add_env for all 3 vars (consistency with EMBEDDING_DIMS)

Closes #29
@ClaudioDrews ClaudioDrews merged commit e03db1f into main Jun 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Alternate embeddings

1 participant