leankg 0.19.16

Lightweight Knowledge Graph for AI-Assisted Development
# Local-only docker compose overrides. Copy to `.dockerfile` and edit.
# This file is .gitignored so user-specific host paths never leak.
#
# Usage (single project):
#   cp .dockerfile.example .dockerfile
#   $EDITOR .dockerfile
#   docker compose -f docker-compose.rocksdb.yml --env-file .dockerfile up -d
#
# Usage (multi-project, with override file for side mounts):
#   cp docker-compose.override.yml.example docker-compose.override.yml
#   $EDITOR docker-compose.override.yml  # add bind mounts for side repos
#   docker compose \
#     -f docker-compose.rocksdb.yml \
#     -f docker-compose.override.yml \
#     --env-file .dockerfile up -d
#
# All variables below are optional. When unset, `entrypoint.sh` falls back to:
#   LEANKG_MCP_PROJECT   -> /workspace
#   LEANKG_PROJECT_DIRS  -> /workspace* glob (auto-discovery)
#
# === Image selection ===
# Hub image tag to pull. Default: freepeak/leankg:latest
# Override to pin a specific version (e.g., 0.19.6) or use a local build.
# LEANKG_IMAGE=freepeak/leankg:latest
#
# Pull policy for Compose: always | missing | never | build
# Default: missing (pull if not present locally). Use 'always' for CI freshness.
# LEANKG_PULL_POLICY=missing
#
# To build a new image instead of pulling, use the optional build compose file:
#   docker compose -f docker-compose.build.yml build
#   docker compose -f docker-compose.build.yml push  # after build
# Do NOT pass --build to the main compose up; it triggers local builds.
#
# === Project paths ===

# Absolute path to the LeanKG source tree on the host. Used as the primary
# project mount and the container's working directory.
HOST_PROJECT_PATH=/Users/linh.doan/work/harvey/freepeak/leankg

# Container path where HOST_PROJECT_PATH is mounted. Must match the path
# the entrypoint script cd's into before starting the MCP server.
CONTAINER_PROJECT_PATH=/workspace

# Path inside the container that the MCP server should serve by default.
# LEANKG_MCP_PROJECT is read by `leankg mcp-http --project <path>`.
LEANKG_MCP_PROJECT=/workspace

# Paths the entrypoint should scan and auto-index at startup.
# IMPORTANT: this is a COMMA-SEPARATED list. `entrypoint.sh` does
#   IFS=',' read -ra DIRS <<< "$LEANKG_PROJECT_DIRS"
# so each entry must be separated by `,` (spaces are NOT separators).
# Omit or leave blank to let the entrypoint fall back to a /workspace* glob.
LEANKG_PROJECT_DIRS=/workspace

# Embed (optional overrides — compose/Dockerfile already set safe defaults).
# Local MCP mem_limit is 2g (PRD Local survival). Offline embed job keeps a
# higher limit in docker-compose.embed.yml / LEANKG_EMBED_MEMORY.
# Raise MAX_MB + workers only on the offline embed profile, not MCP.
# LEANKG_EMBED_ON_BOOT=0
# LEANKG_EMBED_BACKGROUND=1
# LEANKG_EMBED_FAST=1
# LEANKG_EMBED_MODEL=bge-q
# LEANKG_EMBED_MAX_SEQ=128
# LEANKG_EMBED_MAX_BLOB_CHARS=500
# LEANKG_EMBED_MAX_MB=512
# LEANKG_EMBED_BACKGROUND_WORKERS=1
# LEANKG_EMBED_BACKGROUND_BATCH=32

# Dual-process boot (Option A): MCP :9699 + `leankg serve` REST :8080 for UI v2.
# Compose defaults both on. Set to 0 for MCP-only containers.
# LEANKG_SERVE_HTTP=1
# LEANKG_SERVE_PORT=8080

# Multiple projects: list additional container paths after a comma. Each path
# listed here MUST also be bind-mounted into the container. The simplest way
# is via a local docker-compose override file (recommended); an example
# template lives at `docker-compose.override.yml.example` (committed).
#
# Example — a second project on the side:
#   LEANKG_PROJECT_DIRS=/workspace,/workspace-other
#   # And in docker-compose.override.yml:
#   #   services:
#   #     leankg:
#   #       volumes:
#   #         - /Users/you/work/other-repo:/workspace-other