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>
81 lines
2.5 KiB
Plaintext
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
|