| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # ─────────────────────────────────────────────────────────────────────────────
- # EKS Support Relay — environment template.
- # Copy to .env, fill in real values, and keep the file at chmod 0600.
- # NEVER commit a filled-in .env.
- # ─────────────────────────────────────────────────────────────────────────────
- # --- Runtime ---------------------------------------------------------------
- NODE_ENV=production
- PORT=3000
- # prod = compiled build (deterministic); dev = tsx watch (no restart on edits)
- RELAY_MODE=prod
- # Absolute path inside the container. Prisma resolves relative file: URLs
- # against prisma/, which is a common source of "wrong database" confusion.
- DATABASE_URL=file:/app/data/eks_relay.db
- # --- Chatwoot --------------------------------------------------------------
- CHATWOOT_BASE_URL=https://eksupport.easyklima.com
- CHATWOOT_API_TOKEN=
- CHATWOOT_ACCOUNT_ID=1
- CHATWOOT_TICKET_LABEL=ticket
- CHATWOOT_SPAM_LABEL=spam
- # Only enable once the `spam` label actually exists in the Chatwoot account.
- CHATWOOT_APPLY_SPAM_LABEL=false
- # Unassign the bot agent when a ticket is created.
- CHATWOOT_UNASSIGN_ON_TICKET=true
- CHATWOOT_OPEN_ON_TICKET=true
- # When true, EKSRelay only answers if Chatwoot reports the conversation as
- # assigned to a real AgentBot (assignee_agent_bot_id/meta.assignee_type), not the
- # legacy technical user account used for API calls.
- CHATWOOT_REQUIRE_AGENT_BOT_ASSIGNMENT=false
- CHATWOOT_REQUIRED_AGENT_BOT_ID=
- # Webchat / API inbox — reserved for the later web widget adapter.
- CHATWOOT_API_INBOX_ID=
- CHATWOOT_API_IDENTITY_VALIDATION_TOKEN=
- # --- Flowise ---------------------------------------------------------------
- FLOWISE_PREDICT_URL=https://botek.easyklima.com/api/v1/prediction/09fc9332-8cdd-4142-8f0e-4259881fc7bf
- # Optional separate Flowise chatflow for agent UI translations. Falls back to
- # FLOWISE_PREDICT_URL when empty, but production should point this at the small
- # translation-only flow.
- FLOWISE_TRANSLATION_PREDICT_URL=
- FLOWISE_API_KEY=
- # Optional; derived from FLOWISE_PREDICT_URL when empty. Used by /ready only.
- FLOWISE_BASE_URL=
- FLOWISE_TIMEOUT_MS=90000
- # --- WooCommerce / WordPress ----------------------------------------------
- WOOCOMMERCE_BASE_URL=https://easyklima.com
- WOOCOMMERCE_CONSUMER_KEY=
- WOOCOMMERCE_CONSUMER_SECRET=
- # Bearer token for the eksrelay/v1 mu-plugin. Leave empty until the plugin
- # enforces it (see docs/DEPLOY.md).
- WP_STORE_API_SECRET=
- # Currencies actually configured in the shop's multicurrency plugin.
- STORE_CURRENCIES=PLN,EUR,AED,CZK,HUF,DKK,SEK,NOK,RON,BGN,GBP
- # --- Relay auth ------------------------------------------------------------
- # Shared with the Flowise custom tools as $vars.relay_shared_secret.
- RELAY_SHARED_SECRET=
- # Guards /admin/*. Empty means the admin endpoints are closed, not open.
- ADMIN_TOKEN=
- # Guards /agent-tools/* browser helper endpoints used by the Chatwoot AI overlay.
- # Use a separate operator/UI token, not ADMIN_TOKEN.
- AGENT_UI_TOKEN=
- # Comma-separated extra browser origins allowed to call /agent-tools/*.
- # CHATWOOT_BASE_URL is allowed automatically.
- AGENT_UI_ALLOWED_ORIGINS=
- # --- Behaviour -------------------------------------------------------------
- TENANT_ID=easyklima
- DEFAULT_LANGUAGE=pl
- TICKET_NUMBER_PREFIX=EKS
- WORKER_ENABLED=true
- WORKER_POLL_MS=1000
- WORKER_MAX_ATTEMPTS=3
- SPAM_GATE_ENABLED=true
- HTTP_TIMEOUT_MS=30000
- # --- Logging ---------------------------------------------------------------
- LOG_LEVEL=info
- # Switch on ONLY while debugging; it lets customer e-mails and message bodies
- # reach the logs. Secrets stay redacted either way.
- LOG_PII=false
|