metallkart-erp/.env.example
louis 4d43707816 feat(ops): SPEC-PAUSE-1 Phase 1 — master kill-switches outbound + crons
Two env flags to put the VPS in sleep mode:
- OUTBOUND_COMMS_ENABLED=false gates all 4 outbound channels (Email, Telegram, PWA Push, MAX) at the send primitive level, returning simulated success
- AUTONOMOUS_CRONS_ENABLED=false prevents all 23 crons from starting at boot

Both default to true (no behavioral change without explicit opt-in).
Boot log lists all non-armed crons when disabled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-24 18:47:12 +04:00

81 lines
2.5 KiB
Plaintext

# MetallKart ERP — Environment Variables Example
# Copy to .env and fill in actual values
# --- Database ---
DATABASE_URL=postgresql://metallkart:PASSWORD@localhost:5432/erp_local
# --- JWT ---
JWT_SECRET=your-jwt-secret-here
# --- SMTP (outgoing mail) ---
SMTP_HOST=smtp.beget.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=erp@example.com
SMTP_PASS=your-smtp-password
SMTP_FROM=erp@example.com
# --- Purchase email (supplier-facing, separate transport) ---
PURCHASE_EMAIL=zakupki@example.com
PURCHASE_COMPANY_NAME=Your Company Legal Name
PURCHASE_SMTP_PASS=your-purchase-smtp-password
# --- IMAP (incoming mail — tender response polling, same as PURCHASE_EMAIL) ---
IMAP_HOST=imap.beget.com
IMAP_PORT=993
IMAP_USER=zakupki@example.com
IMAP_PASS=your-imap-password
# Cron IMAP polling for supplier tender responses
# Set to 'false' to disable if IMAP credentials are not configured
EMAIL_INBOX_ENABLED=true
# Weekly ADVISOR digest email (HELP suggestions summary)
# Set to 'false' to disable the digest cron
ADVISOR_DIGEST_ENABLED=true
# --- Telegram Bot ---
TELEGRAM_BOT_TOKEN=your-bot-token
TELEGRAM_BOT_USERNAME=your-bot-username
TELEGRAM_LOUIS_CHAT_ID=your-chat-id
# --- AI Services ---
ANTHROPIC_API_KEY=your-anthropic-key
ADVISOR_MODEL=claude-sonnet-4-6
BUILDER_MODEL=claude-opus-4-7
# --- Agent August (supervisor) ---
AGENT_ENABLED=false
AGENT_SHADOW_MODE=true
AGENT_KILL_SWITCH=false
AGENT_LOUIS_USER_ID=your-louis-uuid
AGENT_RATE_LIMIT_MAX=20
AGENT_RATE_LIMIT_WINDOW_MS=3600000
AGENT_PERSONA_NAME=Август
AGENT_PERSONA_SIGNATURE=— Август, ваш ассистент ERP
# AGENT_MODEL_CLASSIFY=claude-haiku-4-5
# AGENT_MODEL_GENERATE=claude-sonnet-4-6
# AGENT_MODEL_REPORT=claude-opus-4-7
# --- Voyage AI (knowledge embeddings) ---
VOYAGE_AI_API_KEY=your-voyage-ai-key
# VOYAGE_AI_MODEL=voyage-3-lite
# --- PWA Web Push (VAPID) ---
VAPID_PUBLIC_KEY=your-vapid-public-key
VAPID_PRIVATE_KEY=your-vapid-private-key
VAPID_SUBJECT=mailto:erp_bot@metdesigntver.ru
# --- Auth Cookie ---
# Set to 'true' on HTTPS environments (staging/prod), 'false' for local dev without HTTPS
HTTPS_ENABLED=false
# --- Kill-switches (SPEC-PAUSE-1) ---
# Master outbound gate: set to 'false' to suppress ALL outbound communications
# (email, Telegram, PWA push, MAX). Callers receive simulated success.
OUTBOUND_COMMS_ENABLED=true
# Autonomous crons gate: set to 'false' to prevent ALL autonomous crons from starting.
# Event-driven processing triggered by user actions stays active.
AUTONOMOUS_CRONS_ENABLED=true