2026-10-21 21:40:00 +08:00
|
|
|
# Backend env for the e2e stack. scripts/stack.sh passes this file as ENV_FILE,
|
|
|
|
|
# so the backend reads ONLY this — never a developer's backend/.env.
|
|
|
|
|
# Every value here is a throwaway for local/CI test runs; nothing is a real secret.
|
|
|
|
|
# NO_ENTERPRISE and the real DATABASE_URL are exported by stack.sh (they depend on
|
|
|
|
|
# the edition and the local Postgres). This placeholder points nowhere, so a backend
|
|
|
|
|
# started without stack.sh fails fast instead of falling back to the dev database.
|
2026-10-26 00:50:43 +08:00
|
|
|
DATABASE_URL=postgresql+psycopg://set-by-stack-sh@127.0.0.1:1/replypier_e2e
|
2026-10-21 21:40:00 +08:00
|
|
|
|
|
|
|
|
ENVIRONMENT=test
|
|
|
|
|
JWT_SECRET_KEY=e2e-jwt-secret-not-for-production
|
|
|
|
|
CONVERSATION_SECRET_KEY=e2e-conversation-secret-not-for-production
|
|
|
|
|
# Same fixed test-only key as backend/tests/conftest.py.
|
|
|
|
|
ENCRYPTION_KEY=QmFTbXc5RWQ4czRfQWpqSnhqZjhraGtYSGFYaXZ4SkRNS2kxZFB1Y2NrMD0=
|
|
|
|
|
|
|
|
|
|
FRONTEND_URL=http://127.0.0.1:15173
|
|
|
|
|
BACKEND_URL=http://127.0.0.1:18000
|
|
|
|
|
VITE_WIDGET_URL=http://127.0.0.1:18000
|
|
|
|
|
# Dashboard + the fake customer site the widget is embedded on (see src/components/chat-widget.ts).
|
|
|
|
|
CORS_ORIGINS=["http://127.0.0.1:15173","http://127.0.0.1:13000"]
|
|
|
|
|
HELP_CENTER_PUBLIC_MODE=path
|
|
|
|
|
|
|
|
|
|
# Redis off: no shared cors:origins cache, no dev Redis traffic.
|
|
|
|
|
REDIS_ENABLED=false
|
|
|
|
|
|
|
|
|
|
# All mail goes to the stack's Mailpit (scripts/stack.sh). No username means no
|
|
|
|
|
# SMTP login, which is how Mailpit runs.
|
|
|
|
|
SMTP_SERVER=127.0.0.1
|
|
|
|
|
SMTP_PORT=11025
|
|
|
|
|
SMTP_USERNAME=
|
|
|
|
|
SMTP_PASSWORD=
|
|
|
|
|
FROM_EMAIL=no-reply@e2e.example.com
|
|
|
|
|
|
|
|
|
|
# No push notifications, no S3.
|
|
|
|
|
FIREBASE_CREDENTIALS=/nonexistent/firebase-config.json
|
|
|
|
|
AWS_ACCESS_KEY_ID=
|
|
|
|
|
AWS_SECRET_ACCESS_KEY=
|
|
|
|
|
|
2026-10-26 00:50:43 +08:00
|
|
|
# Providers that ignore the org's base_url (e.g. the REPLYPIER default model)
|
2026-10-21 21:40:00 +08:00
|
|
|
# still land on the fake LLM through the openai SDK's env fallback.
|
|
|
|
|
OPENAI_BASE_URL=http://127.0.0.1:14010/v1
|
|
|
|
|
OPENAI_API_KEY=e2e-fake-key
|
|
|
|
|
|
|
|
|
|
# Short enough that the "AI times out" journey runs quickly; src/support/timeouts.ts waits longer.
|
|
|
|
|
AGENT_RUN_TIMEOUT=15
|
|
|
|
|
TOKENIZERS_PARALLELISM=false
|
|
|
|
|
|
|
|
|
|
# Third-party APIs → the recording fake (services/fake-externals). See
|
|
|
|
|
# backend/app/core/external_urls.py; deployments never set these.
|
|
|
|
|
TELEGRAM_API_BASE=http://127.0.0.1:14020/telegram
|
|
|
|
|
META_GRAPH_BASE=http://127.0.0.1:14020/graph
|
|
|
|
|
META_GRAPH_INSTAGRAM_BASE=http://127.0.0.1:14020/graph-instagram
|
|
|
|
|
SLACK_API_BASE=http://127.0.0.1:14020/slack
|
|
|
|
|
LINE_API_BASE=http://127.0.0.1:14020/line
|
|
|
|
|
TWILIO_API_BASE=http://127.0.0.1:14020/twilio
|
|
|
|
|
PLIVO_API_BASE=http://127.0.0.1:14020/plivo
|
|
|
|
|
HUBSPOT_API_BASE=http://127.0.0.1:14020/hubspot
|
|
|
|
|
PIPEDRIVE_OAUTH_BASE=http://127.0.0.1:14020/pipedrive-oauth
|
|
|
|
|
# Pipedrive names each company's API host in its token response; the fake names itself.
|
|
|
|
|
PIPEDRIVE_API_BASE=http://127.0.0.1:14020/pipedrive
|
|
|
|
|
JIRA_AUTH_BASE=http://127.0.0.1:14020/jira-auth
|
|
|
|
|
JIRA_API_BASE=http://127.0.0.1:14020/jira
|
|
|
|
|
SHOPIFY_ADMIN_BASE=http://127.0.0.1:14020/shopify
|
|
|
|
|
|
|
|
|
|
# Webhook signing secrets the channel drivers sign with (src/channels/*). Must match
|
|
|
|
|
# env.channelSecrets in src/env.ts.
|
|
|
|
|
META_APP_SECRET=e2e-meta-app-secret
|
|
|
|
|
SLACK_SIGNING_SECRET=e2e-slack-signing-secret
|
|
|
|
|
SLACK_CLIENT_ID=e2e-slack-client-id
|
|
|
|
|
SLACK_CLIENT_SECRET=e2e-slack-client-secret
|
|
|
|
|
HUBSPOT_CLIENT_ID=e2e-hubspot-client-id
|
|
|
|
|
HUBSPOT_CLIENT_SECRET=e2e-hubspot-client-secret
|
|
|
|
|
PIPEDRIVE_CLIENT_ID=e2e-pipedrive-client-id
|
|
|
|
|
PIPEDRIVE_CLIENT_SECRET=e2e-pipedrive-client-secret
|
|
|
|
|
JIRA_CLIENT_ID=e2e-jira-client-id
|
|
|
|
|
JIRA_CLIENT_SECRET=e2e-jira-client-secret
|
|
|
|
|
JIRA_REDIRECT_URI=http://127.0.0.1:18000/api/v1/jira/callback
|
|
|
|
|
# Shopify signs the embedded app's session tokens with the app secret (src/api/shopify.ts).
|
|
|
|
|
SHOPIFY_API_KEY=e2e-shopify-api-key
|
|
|
|
|
SHOPIFY_API_SECRET=e2e-shopify-api-secret
|