# 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_JOB_CONCURRENCY=1 # COMPUTE_WHISPER_TIMEOUT_MS=30000 # COMPUTE_PDF_TIMEOUT_MS=300000 # Optional Whisper ONNX base URL override (must contain all expected files) # WHISPER_MODEL_BASE_URL=https://huggingface.co/onnx-community/whisper-base_timestamped/resolve/main # Optional PDF layout ONNX base URL override (must contain all expected files) # PDF_LAYOUT_MODEL_BASE_URL=https://huggingface.co/Bei0001/PP-DocLayoutV3-ONNX/resolve/main # COMPUTE_PDF_JOB_ATTEMPTS=1 # COMPUTE_JOBS_STREAM_MAX_BYTES=268435456 # JetStream stream size limit for op progress events (replay for SSE reconnect) # COMPUTE_EVENTS_STREAM_MAX_BYTES=134217728 # COMPUTE_JOB_STATES_MAX_BYTES=67108864 # COMPUTE_NATS_REPLICAS=1 # 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=1800000