Environment Variables
api.myeasyguide.com
Database
| Variable | Description | Example |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | postgresql://user:pass@localhost:5432/walkthroughnepal |
Authentication
| Variable | Description | Example |
|---|---|---|
JWT_SECRET | JWT signing secret for users/suppliers | your-secret-key |
JWT_SECRET_ADMIN | JWT signing secret for admins | your-admin-secret |
COOKIE_AGE | Auth cookie max age in ms | 604800000 (7 days) |
COOKIE_DOMAIN | Cookie domain | .myeasyguide.com |
JWT_EXPIRY | JWT token expiry in ms | 604800000 |
URLs
| Variable | Description | Example |
|---|---|---|
BASE_URL | API base URL | http://localhost:3000/api/v1 |
FRONTEND_BASE_URL | Frontend base URL | http://localhost:3001 |
UPLOADS_BASE_URL | Uploaded files URL | http://localhost:3000/api/v1 |
VERIFICATION_LINK | Email verification link | http://localhost:3000/verify |
RESET_LINK | Password reset link | http://localhost:3000/reset |
Email (Resend)
| Variable | Description | Example |
|---|---|---|
RESEND_API_KEY | Resend API key | re_xxxxxxxx |
VERIFICATION_TOKEN | Email verification token secret | your-token |
EMAIL_UNSUB_SECRET | Unsubscribe secret | your-secret |
Stripe
| Variable | Description | Example |
|---|---|---|
STRIPE_SECRET_KEY | Stripe secret key | sk_test_... or sk_live_... |
STRIPE_PUB_KEY | Stripe publishable key | pk_test_... or pk_live_... |
STRIPE_WHSEC_KEY | Stripe webhook signing secret | whsec_... |
Cloudflare Images
| Variable | Description | Example |
|---|---|---|
CF_ACCOUNT_ID | Cloudflare account ID | |
CF_API_TOKEN | Cloudflare API token | |
CF_ACCOUNT_HASH | Cloudflare account hash | |
IMAGE_BASE_URL | Cloudflare Images delivery URL | https://imagedelivery.net/{hash} |
Typesense (Currently Disabled)
| Variable | Description | Example |
|---|---|---|
TYPESENSE_HOST | Typesense server host | localhost |
TYPESENSE_PORT | Typesense server port | 8108 |
TYPESENSE_PROTOCOL | Typesense protocol | http |
TYPESENSE_API_KEY | Typesense API key |
Claude AI
| Variable | Description | Example |
|---|---|---|
CLAUDE_API_KEY | Anthropic Claude API key | sk-ant-... |
CLAUDE_MODEL | Claude model name | claude-opus-4-7 |
Recombee (Recommendations)
| Variable | Description | Example |
|---|---|---|
RECOMBEE_DB | Recombee database ID | |
RECOMBEE_API_TOKEN | Recombee API token |
General
| Variable | Description | Example |
|---|---|---|
NODE_ENV | Environment | development, production |
cms-myeasyguide
| Variable | Description | Example |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | postgresql://user:pass@localhost:5432/cms_myeasyguide |
ANTHROPIC_API_KEY | Claude API key for AI generation | sk-ant-... |
JWT_SECRET | JWT signing secret for CMS auth | change-me-to-a-random-secret-in-production |
myeasyguide.com
| Variable | Description | Example |
|---|---|---|
NEXT_PUBLIC_API_BASE_URL | Express API URL | http://localhost:3000/api/v1 |
NEXT_PUBLIC_POST_URL | CMS URL | https://cms.myeasyguide.com |
Note: NEXT_PUBLIC_* variables are public (exposed to the browser). Never put secrets here.
Environment Setup Checklist
New Developer Setup
bash
# 1. API
cd api.myeasyguide.com
cp .env.example .env
# Edit .env with your database credentials and API keys
# 2. CMS
cd cms-myeasyguide
# Create .env.local with:
# DATABASE_URL=postgresql://user:pass@localhost:5432/cms_myeasyguide
# ANTHROPIC_API_KEY=sk-ant-...
# JWT_SECRET=your-secret
# 3. Frontend
cd myeasyguide.com
# Create .env with:
# NEXT_PUBLIC_API_BASE_URL=http://localhost:3000/api/v1
# NEXT_PUBLIC_POST_URL=http://localhost:3002New Server Setup
bash
# Create .env files in each project directory
# Set production values for all variables
# Run prisma migrate to set up database schemas
# Configure PM2 ecosystem file or start processes manually