Migrate worker and backend contract to an operation-centric model, introducing opKey-based deduplication for Whisper alignment and PDF layout parsing. Add new operation request/state types and update worker endpoints to accept generic operation requests and expose operation status via SSE. Refactor client and server logic to support operation flows. Update deployment docs, environment examples, and Dockerfile to reflect new architecture and dependency management.
37 lines
1.3 KiB
Text
37 lines
1.3 KiB
Text
# Compute worker bind
|
|
# Platform note:
|
|
# - Local/manual: keep PORT=8081
|
|
# - Railway/Render/Fly/etc: platform injects PORT
|
|
COMPUTE_WORKER_HOST=0.0.0.0
|
|
PORT=8081
|
|
COMPUTE_LOG_FORMAT=pretty
|
|
# COMPUTE_LOG_LEVEL=info
|
|
|
|
# App <-> worker auth
|
|
COMPUTE_WORKER_TOKEN=local-compute-token
|
|
|
|
# NATS/JetStream
|
|
NATS_URL=nats://nats:4222
|
|
# Optional: NATS authentication credentials (e.g. for Synadia Cloud / NGS)
|
|
# You can specify the file path:
|
|
# NATS_CREDS_FILE=/path/to/NGS-Default-compute-worker.creds
|
|
# Or specify the raw credentials string content (excellent for container/cloud platforms):
|
|
# NATS_CREDS="-----BEGIN NATS USER JWT-----\n...\n-----BEGIN USER NKEY SEED-----\n..."
|
|
|
|
# Shared object storage (must be reachable from worker)
|
|
S3_BUCKET=openreader-documents
|
|
S3_REGION=us-east-1
|
|
S3_ACCESS_KEY_ID=devkey
|
|
S3_SECRET_ACCESS_KEY=devsecret
|
|
S3_PREFIX=openreader
|
|
# Optional for non-AWS S3-compatible endpoints:
|
|
S3_ENDPOINT=http://host.docker.internal:8333
|
|
S3_FORCE_PATH_STYLE=true
|
|
|
|
# Queue + execution tuning
|
|
COMPUTE_PREWARM_MODELS=true
|
|
COMPUTE_JOBS_STREAM_MAX_BYTES=268435456
|
|
COMPUTE_JOB_STATES_MAX_BYTES=67108864
|
|
# Optional stale window for reusing in-flight opKey entries before forcing a new attempt
|
|
# Default is max(30m, 4x max compute timeout); running jobs also refresh heartbeat every 5s
|
|
# COMPUTE_OP_STALE_MS=180000
|