-
Notifications
You must be signed in to change notification settings - Fork 1
reference configuration
github-actions[bot] edited this page Jun 19, 2026
·
1 revision
All configuration is environment-variable driven, loaded by pydantic-settings in app/core/config.py. Copy .env.example to .env for local dev. The same variables work in Docker, Railway, and Wasmer Edge deployments - only the values change.
Active contributors: Saksham, Ravi
| Variable | Purpose |
|---|---|
DATABASE_URL |
Postgres connection string. Must include +asyncpg for SQLAlchemy async. |
DB_POOL_SIZE, DB_MAX_OVERFLOW, DB_POOL_TIMEOUT, DB_POOL_RECYCLE
|
Main pool tuning (HTTP/MCP traffic). Commented out in .env.example - defaults apply. |
DB_BG_POOL_SIZE, DB_BG_MAX_OVERFLOW
|
Background pool tuning (schedulers, scrapers, long-running tasks). |
SERVERLESS_ENABLED |
When true, switches to NullPool for both engines, skips schedulers, falls back to in-memory cache. |
SUPABASE_URL |
Supabase project URL. Used for JWKS fetch, auth introspection, push notifications. |
SUPABASE_PUBLISHABLE_KEY |
Supabase anon/publishable key. |
SUPABASE_SECRET_KEY |
Supabase service-role key (admin operations like user deletion). |
SUPABASE_WEBHOOK_SECRET |
HMAC secret for verifying inbound Supabase webhooks. Generate with openssl rand -hex 32. |
GOOGLE_WEB_CLIENT_ID, GOOGLE_IOS_CLIENT_ID, GOOGLE_ANDROID_CLIENT_ID
|
Google OAuth client IDs, surfaced via GET /api/v1/auth/config. Optional. |
| Variable | Purpose |
|---|---|
REDIS_URL |
Redis connection string (default redis://localhost:6379). When unavailable, cache falls back to in-memory. |
| Variable | Purpose |
|---|---|
PERPLEXITY_API_KEY, PERPLEXITY_MODEL
|
Perplexity Sonar for blog generation. |
SERPAPI_API_KEY, SERPAPI_SEARCH_ENDPOINT
|
SerpAPI for blog cover image search. |
GOOGLE_API_KEY |
Google API key for Gemini and embeddings. |
GEMINI_MODEL, GEMINI_EMBED_MODEL
|
Gemini chat/vision model and embedding model for pgvector sync. |
GLM_API_KEY, GLM_API_URL, GLM_MODEL
|
ZhipuAI GLM for vastu and AI agent. |
VASTU_DEFAULT_PROVIDER |
Default vastu provider (glm). |
GROQ_API_KEY, GROQ_MODEL
|
Groq for the AI agent fallback chain. |
AI_AGENT_MODEL, AI_AGENT_API_BASE, AI_AGENT_API_KEY
|
Primary AI agent model (GLM). |
AI_AGENT_FALLBACK_MODEL, ..._API_BASE, ..._API_KEY
|
First fallback (Gemini). |
AI_AGENT_FALLBACK2_MODEL, ..._API_BASE, ..._API_KEY
|
Second fallback (Groq). |
| Variable | Purpose |
|---|---|
FIREBASE_PROJECT_ID |
Firebase project for FCM push. |
GOOGLE_APPLICATION_CREDENTIALS |
Path to the FCM service account JSON. |
ENABLE_NOTIF_SCHEDULER |
Whether to register the notification scheduler job. |
NOTIF_SCHED_TZ |
Timezone for notification scheduling (default Asia/Kolkata). |
EMAIL_SENDER_ADDRESS, EMAIL_SENDER_NAME, EMAIL_SMTP_HOST, EMAIL_SMTP_PORT, EMAIL_SMTP_USERNAME, EMAIL_SMTP_PASSWORD
|
SMTP relay config. |
SMS_PROVIDER_API_URL, SMS_PROVIDER_API_KEY, SMS_SENDER_ID
|
SMS gateway config (sender ID defaults to 360GHAR). |
| Variable | Purpose |
|---|---|
VECTOR_SYNC_ENABLED |
Master switch for the vector sync scheduler. |
VECTOR_SYNC_CRON |
Cron schedule (mutually exclusive with interval). |
VECTOR_SYNC_INTERVAL_SECONDS |
Interval-based schedule (default 300). |
VECTOR_SYNC_BATCH_SIZE |
Embeddings per batch (default 500). |
VECTOR_SYNC_MAX_RETRIES |
Retry count per batch (default 3). |
| Variable | Purpose |
|---|---|
AUTO_BLOG_ENABLED |
Master switch for the blog auto-publish scheduler. |
AUTO_BLOG_CRON |
Cron schedule (default 0 20 * * * - 8 PM daily). |
AUTO_BLOG_TIMEZONE |
Schedule timezone (default Asia/Kolkata). |
AUTO_BLOG_PUBLISHER_USER_ID |
User ID to attribute auto-published posts to. |
AUTO_BLOG_MAX_POSTS_PER_RUN |
Cap per scheduler tick (default 3). |
AUTO_BLOG_MODEL |
Perplexity model for auto-publish (default sonar). |
| Variable | Purpose |
|---|---|
ENVIRONMENT |
development, production, or test. Drives logging format, HSTS, CSP, sample rates. |
SECRET_KEY, ALGORITHM, ACCESS_TOKEN_EXPIRE_MINUTES
|
App-level secret and JWT config (informational - Supabase controls actual token expiry). |
PUBLIC_BASE_URL |
Public API URL for OAuth metadata, MCP resource URIs, share previews. Required in production. |
PUBLIC_APP_URL |
Frontend URL for share previews. |
SENTRY_DSN |
Sentry project DSN. When unset, error tracking is disabled. |
SENTRY_TRACES_SAMPLE_RATE |
Performance sample rate (default 0.5 dev, 0.05 prod). |
| Variable | Purpose |
|---|---|
CORS_ORIGINS_STR |
Comma-separated origins that override the default CORS_ORIGINS list. Useful for per-environment CORS without code changes. |
The repo ships .env.example, .env.dev, .env.test, and .env.prod templates. Use .env.example as the canonical reference; the others are starting points for each environment. Never commit real secrets - the .gitignore excludes .env (but not the example templates).
- Features overview
- Ghar Core (marketplace)
- 360 Stays (bookings)
- 360 Flatmates
- Property Management
- 360 Virtual Tours
- 360 Data Hub
- MCP servers and widgets
- AI agent
- Blog and SEO
- Notifications
- Vastu analyzer