| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # CodeSync β Environment Variables | |
| # Copy to .env and fill in your values | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # βββ Server ββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| NODE_ENV=development | |
| PORT=4000 | |
| CLIENT_URL=http://localhost:3000 | |
| # βββ Database (PostgreSQL) βββββββββββββββββββββββββββββββββββββ | |
| DATABASE_URL=postgresql://codesync:codesync@localhost:5432/codesync | |
| # βββ Redis (Upstash) ββββββββββββββββββββββββββββββββββββββββββ | |
| # Get these from https://console.upstash.com | |
| UPSTASH_REDIS_URL=https://your-redis.upstash.io | |
| UPSTASH_REDIS_TOKEN=your-upstash-token | |
| # βββ JWT Secrets ββββββββββββββββββββββββββββββββββββββββββββββ | |
| # Generate with: openssl rand -base64 64 | |
| JWT_ACCESS_SECRET=your-access-secret-min-32-chars | |
| JWT_REFRESH_SECRET=your-refresh-secret-min-32-chars | |
| JWT_ACCESS_EXPIRY=15m | |
| JWT_REFRESH_EXPIRY=7d | |
| # βββ Google OAuth (optional) ββββββββββββββββββββββββββββββββββ | |
| # Get from https://console.cloud.google.com/apis/credentials | |
| GOOGLE_CLIENT_ID=your-google-client-id | |
| GOOGLE_CLIENT_SECRET=your-google-client-secret | |
| GOOGLE_CALLBACK_URL=http://localhost:4000/api/auth/google/callback | |
| # βββ AI (OpenRouter) βββββββββββββββββββββββββββββββββββββββββ | |
| # Get from https://openrouter.ai/keys | |
| OPENROUTER_API_KEY=your-openrouter-api-key | |
| AI_MODEL=google/gemini-pro | |
| # βββ Docker βββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| DOCKER_SOCKET=/var/run/docker.sock | |
| DOCKER_NETWORK=codesync-sandbox | |