1# --- Redis (BullMQ + domain-event stream `factory:events`) --- 2REDIS_URL=redis://localhost:6379 3 4# --- Postgres (Prisma; schema at prisma/schema.prisma) --- 5DATABASE_URL=postgresql://factory:factory@localhost:5432/factory 6 7# --- Object storage (S3-compatible; MinIO in dev) --- 8S3_ENDPOINT=http://localhost:9000 9S3_REGION=us-east-1 10S3_BUCKET=factory-files 11S3_ACCESS_KEY=minioadmin 12S3_SECRET_KEY=minioadmin 13S3_PUBLIC_BASE=http://localhost:9001 14 15# --- OpenSearch (indexer + search; basic auth) --- 16SEARCH_URL=http://localhost:9200 17SEARCH_USERNAME=admin 18SEARCH_PASSWORD=changeme 19 20# --- Secrets / crypto --- 21# 32+ char key; webhook signing secrets are AES-256-GCM-encrypted at rest. 22MASTER_ENCRYPTION_KEY= 23 24# --- AI (OpenAI-compatible; Phase 12 wires the full gateway) --- 25AI_API_KEY= 26AI_PROVIDER=openai 27AI_BASE_URL= 28AI_MODEL=gpt-4o-mini 29 30# --- SMTP (outbound email; empty host = dev-safe no-op sender) --- 31SMTP_HOST= 32SMTP_PORT=587 33SMTP_USER= 34SMTP_PASS= 35SMTP_FROM=noreply@factory.local 36 37# --- ClamAV (empty host = dev default: scans skipped, files pass through) --- 38CLAMAV_HOST= 39CLAMAV_PORT=3310 40 41# --- Worker tuning --- 42WORKER_CONCURRENCY=10 43WORKER_ID=worker-1 44# Retention job runs in dry-run (report only) unless: 45WORKER_RETENTION_EXECUTE=false 46