better-chatbot / .env.example
Bot
Initial commit for HF Spaces
05c5ed5
Raw
History Blame Contribute Delete
3.84 kB
# === LLM Provider API Keys ===
# You only need to enter the keys for the providers you plan to use
GOOGLE_GENERATIVE_AI_API_KEY=****
OPENAI_API_KEY=****
XAI_API_KEY=****
ANTHROPIC_API_KEY=****
OPENROUTER_API_KEY=****
OLLAMA_BASE_URL=http://localhost:11434/api
GROQ_API_KEY=****
GROQ_BASE_URL=https://api.groq.com/openai/v1
# (Optional) Default model to use when none is specified
# Format: provider/model (e.g., openRouter/qwen3-8b:free)
E2E_DEFAULT_MODEL=
# === Database ===
# If you don't have PostgreSQL running locally, start it with: pnpm docker:pg
POSTGRES_URL=postgres://your_username:your_password@localhost:5432/your_database_name
# Secret for Better Auth (generate with: npx @better-auth/cli@latest secret)
BETTER_AUTH_SECRET=
# (Optional)
# URL for Better Auth (the URL you access the app from)
# IMPORTANT: Set this to https://localhost:3000 if using HTTPS locally
# For production, this should match your domain (e.g., https://yourdomain.com)
BETTER_AUTH_URL=
# (Optional)
# === Tools ===
# Exa AI for web search and content extraction (optional, but recommended for @web and research features)
EXA_API_KEY=
# ========================================================================
# === OPTIONAL SETTINGS BELOW (not required for basic functionality) ===
# ========================================================================
# (Optional) Redis for Multi-Instance Support
# When running multiple server instances (load balancing, clustering):
# - With Redis: Real-time MCP synchronization + reduced polling
# - Without Redis: Polling-only synchronization (single instance or dev mode)
# redis://localhost:6379
REDIS_URL=
# (Optional)
# Whether to use file-based MCP config (default: false)
FILE_BASED_MCP_CONFIG=false
# (Optional)
# === OAuth Settings ===
# Fill in these values only if you want to enable Google/GitHub/Microsoft login
#GitHub
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
#Google
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Set to 1 to force account selection
GOOGLE_FORCE_ACCOUNT_SELECTION=
# Microsoft
MICROSOFT_CLIENT_ID=
MICROSOFT_CLIENT_SECRET=
# Optional Tenant Id
MICROSOFT_TENANT_ID=
# Set to 1 to force account selection
MICROSOFT_FORCE_ACCOUNT_SELECTION=
# (Optional)
# Set this to 1 to disable email/password sign in completely
DISABLE_EMAIL_SIGN_IN=
# (Optional)
# Set this to 1 to disable email/password sign-ups (still allows sign-in for existing users)
DISABLE_EMAIL_SIGN_UP=
# (Optional)
# Set this to 1 to disable OAuth sign-ups (Google, GitHub, Microsoft)
DISABLE_SIGN_UP=
# (Optional)
# Set this to 1 to disallow adding MCP servers.
NOT_ALLOW_ADD_MCP_SERVERS=
# (Optional)
# Maximum timeout for MCP tool calls in milliseconds (default: no timeout)
# Useful for long-running MCP tools. Example: 600000 (10 minutes)
MCP_MAX_TOTAL_TIMEOUT=
# === File Storage ===
# -- Vercel Blob example --
# Pull the token locally with `vercel env pull` when testing against Vercel Blob.
# FILE_STORAGE_TYPE=vercel-blob
# FILE_STORAGE_PREFIX=uploads
# BLOB_READ_WRITE_TOKEN=
# -- S3 --
# FILE_STORAGE_TYPE=s3
# FILE_STORAGE_PREFIX=uploads
# FILE_STORAGE_S3_BUCKET=
# FILE_STORAGE_S3_REGION=
# Optional: Use when serving files via CDN/custom domain
# FILE_STORAGE_S3_PUBLIC_BASE_URL=https://cdn.example.com
# Optional: For S3-compatible endpoints (e.g., MinIO)
# FILE_STORAGE_S3_ENDPOINT=http://localhost:9000
# Optional: Force path-style URLs (1/true to enable)
# FILE_STORAGE_S3_FORCE_PATH_STYLE=1
# AWS Credentials (server only)
# The AWS SDK automatically discovers credentials in this order:
# 1) Environment variables below, 2) ~/.aws/credentials or AWS_PROFILE,
# 3) IAM role attached to the runtime (EC2/ECS/EKS/Lambda).
# You do NOT need to set these when using an IAM role.
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# AWS_SESSION_TOKEN=
# AWS_REGION=us-east-1