-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.production.example
More file actions
66 lines (55 loc) · 2.75 KB
/
Copy path.env.production.example
File metadata and controls
66 lines (55 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Production template. Copy to .env.production (gitignored) and replace EVERY
# placeholder with a real value before running `npm run start:prod`.
# cp .env.production.example .env.production
#
# The `check:prod` script will refuse to start the server if any of these are
# still placeholders, missing, or insecure.
#
# Notes:
# - Do NOT set NODE_ENV here. The start:prod launcher sets NODE_ENV=production
# on the child process. Setting it in this file works too, but keeping it
# out makes intent clearer (this file is *only* loaded when NODE_ENV=production).
# - Never commit this file's filled-in version. It is gitignored by default.
# - When deploying to a managed host (DigitalOcean App Platform, Render, Vercel,
# etc.), prefer the host's secret manager over an on-disk .env.production.
PORT=3001
# Required: >=32 random characters, no placeholders. Generate with:
# macOS / Linux: openssl rand -hex 32
# Windows: [Convert]::ToHexString([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(32)).ToLower()
SESSION_SECRET=replace_with_openssl_rand_hex_32
# Required: explicit list of allowed frontend origins. No wildcards.
# Must match the public origin exactly (scheme + host + port, no trailing slash).
CORS_ALLOWED_ORIGINS=https://your-real-frontend.example.com
# Required: must NOT be true in production.
ALLOW_DEMO_MODE=false
# --- App public URL ---
# Required. Used to build invite + reset links sent in emails. Must match the
# exact origin a user lands on (scheme + host, no trailing slash, no path).
APP_PUBLIC_URL=https://qa.example.com
# --- Customer.io transactional email (required in production) ---
# App API key (server-side only, never expose to the browser).
CUSTOMERIO_APP_API_KEY=replace_with_real_customerio_app_api_key
# Region: us | eu — match the region your CIO workspace is in.
CUSTOMERIO_REGION=us
# Display name on outbound mail (sender domain must be DKIM/SPF verified in CIO).
CUSTOMERIO_FROM_NAME=QA Tool
# Transactional template ids from CIO. See QUICKSTART for the message-data
# variables each template must reference.
CUSTOMERIO_INVITE_TEMPLATE_ID=replace_with_real_invite_template_id
CUSTOMERIO_RESET_TEMPLATE_ID=replace_with_real_reset_template_id
# --- QA Tool API ---
QA_BACKEND_API_BASE_URL=https://api.qa-backend.example.com
QA_BACKEND_API_KEY=replace_with_real_qa_backend_api_key
QA_BACKEND_PATH=/qa/run-test
QA_BACKEND_AUTH_STYLE=bearer
# --- Jira ---
JIRA_BASE_URL=https://yourrealcompany.atlassian.net
JIRA_EMAIL=replace_with_real_email
JIRA_API_TOKEN=replace_with_real_jira_api_token
# --- Slack ---
SLACK_WEBHOOK_URL=replace_with_real_slack_webhook
# --- Zoho Cliq ---
ZOHO_CLIQ_WEBHOOK_URL=replace_with_real_zoho_cliq_webhook
# --- OpenAI ---
OPENAI_API_KEY=replace_with_real_openai_api_key
OPENAI_MODEL=gpt-4o-mini