courtmitra / infra /.env.example
Hetansh Waghela
handoff doc
ad76a88
Raw
History Blame Contribute Delete
3.24 kB
# --- Database ---
DATABASE_URL=postgres://courtmitra:courtmitra@localhost:5432/courtmitra
DIRECT_DATABASE_URL=postgres://courtmitra:courtmitra@localhost:5432/courtmitra
# --- Object storage (R2 / Supabase Storage, S3 API) ---
OBJECT_STORAGE_ENDPOINT=
OBJECT_STORAGE_BUCKET=
OBJECT_STORAGE_ACCESS_KEY=
OBJECT_STORAGE_SECRET_KEY=
# --- App URLs ---
APP_BASE_URL=http://localhost:3000
API_BASE_URL=http://localhost:3001
WEBHOOK_BASE_URL=http://localhost:3001
# --- AI provider ---
# Set AI_PROVIDER to switch between providers:
# openrouter (default) — uses @openrouter/ai-sdk-provider with response-healing plugin
# opencode | openai-compatible — uses @ai-sdk/openai-compatible pointed at OPENCODE_BASE_URL
AI_PROVIDER=openrouter
# --- OpenRouter (AI_PROVIDER=openrouter) ---
OPENROUTER_API_KEY=
# Example model IDs for openrouter:
# AI_MODEL=google/gemini-2.0-flash-exp:free
# AI_VISION_MODEL=google/gemini-2.0-flash-exp:free
AI_MODEL=google/gemini-2.0-flash-exp:free
AI_VISION_MODEL=google/gemini-2.0-flash-exp:free
# --- OpenCode Go (AI_PROVIDER=opencode) ---
# OpenAI-compatible gateway at https://opencode.ai/zen/go/v1
# All listed models support tool-calling; generateObject uses tool-calling mode.
# Text intake model (no vision): deepseek-v4-flash
# Vision/evidence models (text+image): qwen3.6-plus, mimo-v2.5, kimi-k2.6
OPENCODE_API_KEY=
OPENCODE_BASE_URL=https://opencode.ai/zen/go/v1
# Example model overrides for opencode provider:
# AI_MODEL=deepseek-v4-flash
# AI_VISION_MODEL=qwen3.6-plus
# Legacy key kept for compatibility
AI_PROVIDER_API_KEY=
# --- Local storage (dev only) ---
# LOCAL_STORAGE_DIR: May be relative (resolved to monorepo root) or absolute.
# All apps (api, worker, web) must share the same location.
# Default: ".storage" (resolved to repo root).
LOCAL_STORAGE_DIR=.storage
# --- WhatsApp Cloud API ---
WHATSAPP_VERIFY_TOKEN=
WHATSAPP_APP_SECRET=
WHATSAPP_ACCESS_TOKEN=
WHATSAPP_PHONE_NUMBER_ID=
WHATSAPP_BUSINESS_ACCOUNT_ID=
# --- Telegram ---
TELEGRAM_BOT_TOKEN=
# --- Resend ---
RESEND_API_KEY=
RESEND_FROM=
RESEND_REPLY_DOMAIN=
# --- Google OAuth ---
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# --- Inngest ---
INNGEST_EVENT_KEY=
INNGEST_SIGNING_KEY=
INNGEST_BASE_URL=http://localhost:8288
INNGEST_DEV=1
# --- Secrets / hashing ---
TOKEN_ENCRYPTION_KEY=
PII_HASH_SALT=dev-salt-change-me
JWT_SECRET=dev-jwt-secret-change-me
# --- Observability ---
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
# --- Qdrant vector search ---
# Qdrant Cloud: https://cloud.qdrant.io (free tier: 1GB storage)
# Local: QDRANT_URL=http://localhost:6333, no API key
QDRANT_URL=https://your-cluster-url.qdrant.io:6333
QDRANT_API_KEY=
QDRANT_COLLECTION=courtmitra_legal
# --- OpenAI (Whisper ASR + optional) ---
OPENAI_API_KEY=
# --- Browserbase (cloud browser for portal automation) ---
# Free tier: 5 hours/month browser time
# Sign up: https://www.browserbase.com
BROWSERBASE_API_KEY=
BROWSERBASE_PROJECT_ID=
# --- Surepass (eCourts CNR lookup) ---
# Paid third-party API for Indian court case data
SUREPASS_API_KEY=
# --- Portal automation (optional) ---
# Set to "1" to enable Playwright-based portal automation
# Without this, portal assist degrades to manual packet submission
ENABLE_PORTAL_AUTOMATION=