🕉
Deployment
Live URLs
| Service | URL |
|---|---|
| Chat UI | veda-guru-ai-ui.vercel.app |
| Maharshi voice | veda-guru-ai-ui.vercel.app/maharshi |
| API | veda-guru-ai-api.onrender.com |
| Docs | veda-guru-ai.github.io/veda-guru-ai-docs |
Backend API (Render — free tier)
Repo: github.com/veda-guru-ai/veda-guru-ai-api
Settings used:
| Setting | Value |
|---|---|
| Runtime | Python |
| Build command | pip install -r requirements.txt |
| Start command | uvicorn main:app --host 0.0.0.0 --port $PORT |
| Plan | Free |
Required environment variables:
| Variable | Value |
|---|---|
SARVAM_API_KEY |
(your Sarvam AI API token) |
SARVAM_API_URL |
https://api.sarvam.ai/v1/chat/completions |
FRONTEND_URL |
https://veda-guru-ai-ui.vercel.app |
Optional environment variables:
| Variable | Purpose |
|---|---|
TAVILY_API_KEY |
Primary web search (free tier: 1000 searches/mo) |
JWT_SECRET |
Auth token signing key (auto-generated if unset) |
DATABASE_URL |
Neon/Supabase Postgres connection string (for persistent data) |
Database persistence
By default, the app uses SQLite (veda_guru.db) which is ephemeral — data is lost on restart. For persistent storage, set DATABASE_URL to a Neon Postgres connection string:
postgresql://user:password@ep-xxx.region.aws.neon.tech/dbname?sslmode=require
Neon free tier: 500MB storage, no credit card required. See neon.tech.
Frontend UI (Vercel — free tier)
Repo: github.com/veda-guru-ai/veda-guru-ai-ui
- Connect repo to Vercel → it auto-detects static files
- Deploy — no build command needed
- Update
API_URLinscript.jsandmaharshi.jsif the backend URL changes
The frontend includes:
- Landing page (
index.html— served at/, dharmic-themed entry) - Chat page (
chat.html— served at/chat, main Q&A interface) - Gurukula learning page (
learning.html— served at/learn, learning paths) - Maharshi voice page (
maharshi.html— served at/maharshi, voice chat)
Routing via vercel.json:
{
"rewrites": [
{ "source": "/chat", "destination": "/chat.html" },
{ "source": "/learn", "destination": "/learning.html" },
{ "source": "/maharshi", "destination": "/maharshi.html" },
{ "source": "/(.*)", "destination": "/index.html" }
]
}
Documentation (GitHub Pages)
Repo: github.com/veda-guru-ai/veda-guru-ai-docs
- GitHub Settings → Pages → Source: GitHub Actions
- Add the Jekyll workflow (GitHub suggests it automatically)
- Pushes to
mainauto-deploy the docs site
Redeploying after changes
All three services auto-deploy when you push to the main branch of their respective repos. No manual steps needed.
Render cold start
The free tier spins down after 15 minutes of inactivity. The first request after idle triggers a cold start (30-60s). The frontend handles this with a retry loop and status indicator.