Skip to main content
Create a .env file in the project root. For production credentials (Stripe, AWS, Gupshup, etc.) ask the team lead or check the shared secrets store — never commit credentials to git.

Minimum required (local dev)

# ─── Server ───────────────────────────────────────────
NODE_ENV=development
APP_PORT=5001
APP_HOST=0.0.0.0
APP_URL=http://localhost:5001
API_URL=http://localhost:5001
VITE_API_URL=http://localhost:5001
ALLOWED_ORIGINS=http://localhost:5001,http://localhost:5173

# ─── Database ─────────────────────────────────────────
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_USERNAME=dbuser
DATABASE_PASSWORD=sin90is1
DATABASE_NAME=sahyogi
DATABASE_SSL=false

# ─── Auth / Security ──────────────────────────────────
JWT_SECRET=change_this_to_a_long_random_string
JWT_REFRESH_SECRET=change_this_to_another_long_random_string
SESSION_SECRET=change_this_too
ENCRYPTION_KEY=32_char_hex_key_for_credential_encryption

# ─── Redis (local Docker) ─────────────────────────────
REDIS_HOST=redis://localhost:6380

Full .env reference

# ─── Server ───────────────────────────────────────────
NODE_ENV=development
APP_PORT=5001
APP_HOST=0.0.0.0
APP_URL=http://localhost:5001
API_URL=http://localhost:5001
PUBLIC_API_URL=http://localhost:5001
VITE_API_URL=http://localhost:5001
ALLOWED_ORIGINS=http://localhost:5001

# ─── Database ─────────────────────────────────────────
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_USERNAME=dbuser
DATABASE_PASSWORD=sin90is1
DATABASE_NAME=sahyogi
DATABASE_SSL=false

# ─── Auth / Security ──────────────────────────────────
JWT_SECRET=your_jwt_secret_here
JWT_REFRESH_SECRET=your_jwt_refresh_secret_here
SESSION_SECRET=your_session_secret_here
SESSION_USE_SECURE_COOKIE=false
ENCRYPTION_KEY=your_32_char_encryption_key_here

# ─── OAuth — Google ────────────────────────────────────
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# ─── OAuth — Twitter ───────────────────────────────────
TWITTER_API_KEY=
TWITTER_API_SECRET=

# ─── OAuth — Facebook ──────────────────────────────────
FACEBOOK_APP_ID=
FACEBOOK_APP_SECRET=
FACEBOOK_WEBHOOK_VERIFY_TOKEN=
FACEBOOK_REDIRECT_URI=

# ─── Payments — Stripe ────────────────────────────────
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRICE_ID=

# ─── Payments — Cashfree ──────────────────────────────
CASHFREE_APP_ID=
CASHFREE_SECRET_KEY=
CASHFREE_WEBHOOK_SECRET=

# ─── WhatsApp — Gupshup ───────────────────────────────
GUPSHUP_WEBHOOKS_BASE_URL=https://your-domain.com

# ─── WhatsApp — Wasimple ──────────────────────────────
WASIMPLE_API_KEY=
WASIMPLE_PHONE_ID=
WASIMPLE_AI_AGENT_RESPONSE_ALLOW_ALL=true
WASIMPLE_AI_AGENT_RESPONSE_PHONE_NUMBER_WHITELIST=

# ─── AI / LLM ─────────────────────────────────────────
OPENAI_API_KEY=
GOOGLE_API_KEY=

# ─── Vector DB — Qdrant ───────────────────────────────
QDRANT_URL=
QDRANT_API_KEY=

# ─── Redis / Cache ────────────────────────────────────
REDIS_HOST=redis://localhost:6380
REDIS_TOKEN=

# ─── Cloud Storage — AWS S3 ───────────────────────────
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
S3_BUCKET_NAME=

# ─── Other Integrations ───────────────────────────────
AIRTABLE_API_KEY=

# ─── Agent ────────────────────────────────────────────
AGENT_PORT=5555
AGENT_URL=http://localhost:5555
AI_AGENT_URL=http://localhost:5555

# ─── File Uploads ─────────────────────────────────────
UPLOAD_DIR=./uploads

Production overrides

NODE_ENV=production
APP_URL=https://your-production-domain.com
API_URL=https://your-production-domain.com
ALLOWED_ORIGINS=https://your-production-domain.com
DATABASE_SSL=true
SESSION_USE_SECURE_COOKIE=true
REDIS_HOST=https://your-upstash-url.upstash.io
REDIS_TOKEN=your_upstash_token