Prerequisites
Before configuring environment variables:- Complete the database setup
- Run
npx supabase statusto get your Supabase credentials - Have your API keys ready (OpenAI, Tavily, etc.)
Create Environment Files
Copy the example files to create your environment configuration:Frontend Configuration
Editfrontend/.env.local:
Frontend Variables Explained
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_URL
Your local Supabase API URL. For local development, this is
http://127.0.0.1:54321.Get this from npx supabase status output.NEXT_PUBLIC_SUPABASE_ANON_KEY
NEXT_PUBLIC_SUPABASE_ANON_KEY
The anonymous key for client-side Supabase requests.Get this from
npx supabase status output.NEXT_PUBLIC_API_URL
NEXT_PUBLIC_API_URL
URL for the Next.js backend API. Default is
http://localhost:3001.NEXT_PUBLIC_MEMORY_API_URL
NEXT_PUBLIC_MEMORY_API_URL
URL for the Python memory backend. Default is
http://localhost:8000.Next.js Backend Configuration
Editnextjs-backend/.env.local:
Backend Variables Explained
Supabase Keys
Supabase Keys
- NEXT_PUBLIC_SUPABASE_URL: Same as frontend
- NEXT_PUBLIC_SUPABASE_ANON_KEY: Same as frontend
- SUPABASE_ADMIN: Service role key for admin operations (from
npx supabase status)
AI Provider Keys
AI Provider Keys
OPENAI_API_KEY (Required)
- Get from platform.openai.com
- Required for core AI functionality
- GOOGLE_GENERATIVE_AI_API_KEY: Google’s Gemini models
- GROQ_API_KEY: Fast inference platform
- CEREBRAS_API_KEY: High-performance inference
- OPENROUTER_API_KEY: Access to multiple models
Tool API Keys
Tool API Keys
TAVILY_API_KEY (Recommended)
- Required for web search functionality
- Get from tavily.ai
Email Configuration (Optional)
Email Configuration (Optional)
If you want to enable email notifications:
- RESEND_API_KEY: API key from resend.com
- RESEND_DOMAIN: Your verified domain
Memory Backend Configuration
Editbackend/.env:
Memory Backend Variables Explained
OPENAI_API_KEY
OPENAI_API_KEY
Same OpenAI API key as the Next.js backend.
SUPABASE_CONNECTION_STRING
SUPABASE_CONNECTION_STRING
PostgreSQL connection string for local Supabase.Format: You can verify this with
postgresql://postgres:[email protected]:54322/postgresNote the port
54322 for direct PostgreSQL connection (different from the API port 54321)npx supabase status and look for the “DB URL” value.Neo4j Variables (Optional)
Neo4j Variables (Optional)
Only required if you’re using the knowledge graph feature. See the Neo4j setup guide for details.
- NEO4J_URL: Your Neo4j instance URI
- NEO4J_USERNAME: Database username (usually “neo4j”)
- NEO4J_PASSWORD: Database password
- NEO4J_DATABASE: Database name (usually “neo4j”)
- AURA_INSTANCEID: Your AuraDB instance ID (if using Neo4j Aura)
- AURA_INSTANCENAME: Your AuraDB instance name (if using Neo4j Aura)
Getting Supabase Credentials
To get all your Supabase credentials at once:- API URL: Use for
NEXT_PUBLIC_SUPABASE_URL - anon key: Use for
NEXT_PUBLIC_SUPABASE_ANON_KEY - service_role key: Use for
SUPABASE_ADMIN - DB URL: Use for
SUPABASE_CONNECTION_STRING
Verification
After configuring all environment files, verify your setup:Next Steps
With environment variables configured, you can:- Run the application and start all services
- Optionally set up Neo4j for knowledge graph features
- Start developing with Tabby AI Keyboard