|
| 1 | +# ============================================ |
| 2 | +# SynthStack Environment Variables - PRO (Commercial Edition) |
| 3 | +# Copy this file to .env and fill in your values |
| 4 | +# ============================================ |
| 5 | + |
| 6 | +# ============================================ |
| 7 | +# FEATURE FLAGS - PRO VERSION |
| 8 | +# ============================================ |
| 9 | +# This configuration is for the PRO (Commercial Edition) version. |
| 10 | +# ALL features ENABLED including RAG, AI Agents, and Referrals. |
| 11 | +# |
| 12 | +# Backend flags (api-gateway) |
| 13 | +ENABLE_COPILOT=true |
| 14 | +ENABLE_COPILOT_RAG=true |
| 15 | +ENABLE_AI_AGENTS=true |
| 16 | +ENABLE_REFERRALS=true |
| 17 | + |
| 18 | +# Frontend flags (web app) |
| 19 | +VITE_ENABLE_COPILOT=true |
| 20 | +VITE_ENABLE_COPILOT_RAG=true |
| 21 | +VITE_ENABLE_AI_AGENTS=true |
| 22 | +VITE_ENABLE_REFERRALS=true |
| 23 | +# ============================================ |
| 24 | + |
| 25 | +# ============================================ |
| 26 | +# Database |
| 27 | +# ============================================ |
| 28 | +DB_DATABASE=synthstack |
| 29 | +DB_USER=synthstack |
| 30 | +DB_PASSWORD=synthstack_dev_2024 |
| 31 | + |
| 32 | +# Docker Compose Postgres Variables |
| 33 | +POSTGRES_USER=synthstack |
| 34 | +POSTGRES_PASSWORD=synthstack_dev_2024 |
| 35 | +POSTGRES_DB=synthstack |
| 36 | + |
| 37 | +# ============================================ |
| 38 | +# Directus CMS |
| 39 | +# ============================================ |
| 40 | +# Generate unique keys with: |
| 41 | +# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" |
| 42 | +DIRECTUS_KEY=your-unique-directus-key-here |
| 43 | +DIRECTUS_SECRET=your-unique-directus-secret-here |
| 44 | +DIRECTUS_ADMIN_EMAIL=admin@example.com |
| 45 | +DIRECTUS_ADMIN_PASSWORD=your-admin-password |
| 46 | +DIRECTUS_ADMIN_TOKEN=your-admin-token |
| 47 | +DIRECTUS_PUBLIC_URL=http://localhost:8056 |
| 48 | +DIRECTUS_URL=http://localhost:8056 |
| 49 | + |
| 50 | +# ============================================ |
| 51 | +# Supabase Authentication |
| 52 | +# Get these from https://supabase.com/dashboard |
| 53 | +# ============================================ |
| 54 | +SUPABASE_URL=https://your-project.supabase.co |
| 55 | +SUPABASE_ANON_KEY=your-anon-key |
| 56 | +SUPABASE_SERVICE_ROLE_KEY=your-service-role-key |
| 57 | + |
| 58 | +# Google OAuth - https://console.cloud.google.com |
| 59 | +GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com |
| 60 | +GOOGLE_CLIENT_SECRET=GOCSPX-your-google-secret |
| 61 | + |
| 62 | +# GitHub OAuth - https://github.com/settings/developers |
| 63 | +GITHUB_CLIENT_ID=your-github-client-id |
| 64 | +GITHUB_CLIENT_SECRET=your-github-client-secret |
| 65 | + |
| 66 | +# ============================================ |
| 67 | +# GitHub Organization Management |
| 68 | +# For lifetime license repository access |
| 69 | +# ============================================ |
| 70 | +GITHUB_ORG_NAME=your-org-name |
| 71 | +GH_PAT=ghp_your-personal-access-token |
| 72 | +GITHUB_TEAM_SLUG=your-team-slug |
| 73 | +GITHUB_PRO_REPO=your-org/your-repo |
| 74 | + |
| 75 | +# ============================================ |
| 76 | +# Stripe Payments |
| 77 | +# Get these from https://dashboard.stripe.com |
| 78 | +# ============================================ |
| 79 | +STRIPE_PUBLISHABLE_KEY=pk_test_xxx |
| 80 | +STRIPE_SECRET_KEY=sk_test_xxx |
| 81 | +STRIPE_WEBHOOK_SECRET=whsec_xxx |
| 82 | + |
| 83 | +# Price IDs for subscription tiers (monthly) |
| 84 | +STRIPE_PRICE_MAKER=price_xxxxxxxxxxxxxxxxxxxxx |
| 85 | +STRIPE_PRICE_PRO=price_xxxxxxxxxxxxxxxxxxxxx |
| 86 | +STRIPE_PRICE_AGENCY=price_xxxxxxxxxxxxxxxxxxxxx |
| 87 | + |
| 88 | +# Price IDs for annual subscriptions (25% discount) |
| 89 | +STRIPE_PRICE_MAKER_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx |
| 90 | +STRIPE_PRICE_PRO_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx |
| 91 | +STRIPE_PRICE_AGENCY_YEARLY=price_xxxxxxxxxxxxxxxxxxxxx |
| 92 | + |
| 93 | +# Lifetime license product |
| 94 | +STRIPE_PRICE_LIFETIME=price_xxxxxxxxxxxxxxxxxxxxx |
| 95 | +STRIPE_PROMO_EARLYSYNTH=EARLYSYNTH |
| 96 | + |
| 97 | +# ============================================ |
| 98 | +# AI APIs |
| 99 | +# ============================================ |
| 100 | +OPENAI_API_KEY=sk-xxx |
| 101 | +ANTHROPIC_API_KEY=sk-ant-xxx |
| 102 | + |
| 103 | +# ============================================ |
| 104 | +# BYOK Encryption (Required for storing user API keys) |
| 105 | +# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" |
| 106 | +# ============================================ |
| 107 | +ENCRYPTION_KEY=your-64-char-hex-key-here |
| 108 | + |
| 109 | +# ============================================ |
| 110 | +# Redis |
| 111 | +# ============================================ |
| 112 | +REDIS_URL=redis://localhost:6399 |
| 113 | + |
| 114 | +# ============================================ |
| 115 | +# Application |
| 116 | +# ============================================ |
| 117 | +NODE_ENV=development |
| 118 | +VITE_APP_NAME=SynthStack |
| 119 | +VITE_APP_URL=http://localhost:3000 |
| 120 | +VITE_API_URL=http://localhost:3003 |
| 121 | +VITE_DIRECTUS_URL=http://localhost:8056 |
| 122 | +VITE_SUPABASE_URL=https://your-project.supabase.co |
| 123 | +VITE_SUPABASE_ANON_KEY=your-anon-key |
| 124 | +DATABASE_URL=postgresql://synthstack:synthstack_dev_2024@localhost:5499/synthstack |
| 125 | + |
| 126 | +# Frontend email configuration (exposed to client) |
| 127 | +VITE_CONTACT_EMAIL=team@example.com |
| 128 | +VITE_SUPPORT_EMAIL=team@example.com |
| 129 | + |
| 130 | +# ============================================ |
| 131 | +# Analytics (GDPR-compliant with consent) |
| 132 | +# ============================================ |
| 133 | +VITE_GA_MEASUREMENT_ID=G-XXXXXXXXXX |
| 134 | +VITE_CLARITY_PROJECT_ID=xxxxxxxxxx |
| 135 | +VITE_ENABLE_ANALYTICS=false |
| 136 | + |
| 137 | +# ============================================ |
| 138 | +# Sentry Error Tracking (optional) |
| 139 | +# See docs/guides/SENTRY_SETUP.md |
| 140 | +# ============================================ |
| 141 | +# SENTRY_DSN=https://xxx@o123456.ingest.sentry.io/xxx |
| 142 | +# SENTRY_ENVIRONMENT=production |
| 143 | +# SENTRY_TRACES_SAMPLE_RATE=0.1 |
| 144 | +# VITE_SENTRY_DSN=https://xxx@o123456.ingest.sentry.io/xxx |
| 145 | +# VITE_SENTRY_ENVIRONMENT=production |
| 146 | +# VITE_SENTRY_TRACES_SAMPLE_RATE=0.1 |
| 147 | + |
| 148 | +# ============================================ |
| 149 | +# Email Service (Resend) |
| 150 | +# ============================================ |
| 151 | +RESEND_API_KEY=re_your_api_key_here |
| 152 | +RESEND_FROM_EMAIL=team@example.com |
| 153 | +RESEND_FROM_NAME=SynthStack |
| 154 | +CONTACT_EMAIL=team@example.com |
| 155 | +NOREPLY_EMAIL=noreply@example.com |
| 156 | + |
| 157 | +# ============================================ |
| 158 | +# Email Newsletter (EmailOctopus) |
| 159 | +# See docs/guides/NEWSLETTER_SETUP.md |
| 160 | +# Free tier: 2,500 contacts, 10,000 emails/month |
| 161 | +# ============================================ |
| 162 | +EMAILOCTOPUS_API_KEY=your-api-key |
| 163 | +EMAILOCTOPUS_LIST_ID=your-list-id |
| 164 | +VITE_EMAILOCTOPUS_FORM_ID=your-form-id |
| 165 | + |
| 166 | +# ============================================ |
| 167 | +# Security & Admin |
| 168 | +# ============================================ |
| 169 | +ADMIN_SECRET=your-admin-secret |
| 170 | +JWT_SECRET=your-jwt-secret-generate-with-crypto |
| 171 | + |
| 172 | +# ============================================ |
| 173 | +# i18n Configuration |
| 174 | +# ============================================ |
| 175 | +VITE_I18N_ENABLED=true |
| 176 | + |
| 177 | +# ============================================ |
| 178 | +# LLM Router Configuration |
| 179 | +# ============================================ |
| 180 | +OPENROUTER_API_KEY= |
| 181 | +LLM_USE_ROUTER=true |
| 182 | +LLM_DEFAULT_TIER=standard |
| 183 | +LLM_AUTO_ROUTE=true |
| 184 | +LLM_CHEAP_MODEL=gpt-4o-mini |
| 185 | +LLM_PREMIUM_MODEL=claude-3-opus-20240229 |
| 186 | + |
| 187 | +# ============================================ |
| 188 | +# SerpAPI (Web Search for AI Agents - PRO only) |
| 189 | +# Get your API key from https://serpapi.com/manage-api-key |
| 190 | +# ============================================ |
| 191 | +SERPAPI_KEY=your-serpapi-key-here |
| 192 | +SERPAPI_MONTHLY_LIMIT=250 |
0 commit comments