cocottetech/@platform/codebase/@features/content-ingestor/.env.example

57 lines
2.3 KiB
Text
Raw Normal View History

# content-ingestor environment — copy to .env for local runs.
# Single source of truth for ports: ../../../infrastructure/.env.ports.
# Health HTTP
CONTENT_INGESTOR_HEALTH_PORT=3825
# Poll cadence (how often the worker scans mac-sync for new photos)
INGEST_POLL_INTERVAL_MS=300000
INGEST_BATCH_SIZE=50
# --- Source: mac-sync photo mirror (macsync.photos on black) ---
# Direct read of macsync.photos (db + user + schema are all `quinn_macsync` /
# `macsync`; container `quinn-db-macsync` on black:25436). The PhotoSource interface
# keeps the source swappable if mac-sync's HTTP photo routes are later exposed.
MACSYNC_PG_URL=postgres://quinn_macsync:CHANGEME@black.lan:25436/quinn_macsync
# --- Object store: photo binaries in MinIO (S3 API) ---
# Read over the S3 API (credentialed) so it works against a PRIVATE bucket — the
# mac-sync server's :3201 object route is localhost-bound on black, not the path.
MINIO_ENDPOINT=black.lan
MINIO_PORT=9000
MINIO_USE_SSL=false
MINIO_ACCESS_KEY=CHANGEME
MINIO_SECRET_KEY=CHANGEME
MINIO_BUCKET=mac-sync
# --- Classifier: @model-boss vision coordinator (apricot GPU) ---
# The classifier POSTs the contrastive primitive /v1/vision/score (verified live;
# there is NO server-side /score_image_rubric route — that's an MCP-only helper).
# Model must be `vision`-category (siglip2-so400m, what imajin-semantic uses); a
# `vlm` like qwen3-vl-8b-instruct is the wrong category for the contrastive scorer.
MODEL_BOSS_BASE_URL=http://apricot.lan:8210
MODEL_BOSS_VISION_MODEL=siglip2-so400m
MODEL_BOSS_TIMEOUT_MS=60000
# --- Sink: platform.api (data plane on black:3060) ---
PLATFORM_API_BASE_URL=http://black.lan:3060/api/v1
SPECIALIST_TOKEN=changeme
SPECIALIST_ID=content-ingestor
# Single-tenant at P0: the Person who owns the synced library. Device→user
# mapping is the multi-tenant seam (one INGEST_USER_ID until then).
INGEST_USER_ID=00000000-0000-0000-0000-000000000000
# --- Planner: configurable posting cadence ("configurable sendings") ---
# The deliberate offset that creates the hot/stocked planning window.
PLAN_OFFSET_DAYS=7
PLAN_HORIZON_DAYS=7
PLAN_SLOTS_PER_DAY=3
# An asset counts as "hot" if taken within this window AND quality >= threshold.
PLAN_HOT_WINDOW_DAYS=14
PLAN_HOT_QUALITY_MIN=0.6
# Logging
LOG_LEVEL=info
NODE_ENV=development