184 lines
6.3 KiB
Plaintext
184 lines
6.3 KiB
Plaintext
# Classroom Copilot API - Environment Variables Template
|
|
# Copy this file to .env and fill in the values
|
|
|
|
# =============================================================================
|
|
# Server Configuration
|
|
# =============================================================================
|
|
PORT_OLLAMA=11434
|
|
UVICORN_PORT=8000
|
|
UVICORN_WORKERS=4
|
|
UVICORN_TIMEOUT=120
|
|
HOST_OLLAMA=http://localhost:11434
|
|
OLLAMA_MODEL=llama3.2
|
|
|
|
# =============================================================================
|
|
# Supabase Configuration
|
|
# =============================================================================
|
|
SUPABASE_URL=https://your-project.supabase.co
|
|
ANON_KEY=your-supabase-anon-key
|
|
SERVICE_ROLE_KEY=your-supabase-service-role-key
|
|
|
|
# =============================================================================
|
|
# Authentication
|
|
# =============================================================================
|
|
JWT_SECRET=your-jwt-secret-min-32-chars
|
|
|
|
# =============================================================================
|
|
# Admin Configuration (for initial setup)
|
|
# =============================================================================
|
|
ADMIN_EMAIL=admin@example.com
|
|
ADMIN_PASSWORD=change-me-immediately
|
|
ADMIN_USERNAME=admin
|
|
ADMIN_NAME=Admin User
|
|
ADMIN_DISPLAY_NAME=Administrator
|
|
ADMIN_WORKER_EMAIL=worker@example.com
|
|
|
|
# =============================================================================
|
|
# Redis Configuration
|
|
# =============================================================================
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_PASSWORD=
|
|
REDIS_SSL=false
|
|
REDIS_RECOVERY_ENABLED=true
|
|
REDIS_MAX_RETRY_ATTEMPTS=3
|
|
REDIS_HEALTH_CHECK_INTERVAL=30
|
|
|
|
# Dev/Prod/Test DB isolation
|
|
REDIS_DB_DEV=0
|
|
REDIS_DB_PROD=1
|
|
REDIS_DB_TEST=2
|
|
|
|
# Task TTL (seconds)
|
|
REDIS_TASK_TTL_DEV=3600
|
|
REDIS_TASK_TTL_PROD=7200
|
|
|
|
# Persistence
|
|
REDIS_PERSIST_DEV=false
|
|
REDIS_PERSIST_PROD=true
|
|
|
|
# =============================================================================
|
|
# OpenAI / LLM Configuration
|
|
# =============================================================================
|
|
OPENAI_API_KEY=your-openai-api-key
|
|
OPENAI_BASE_URL=https://api.openai.com/v1
|
|
|
|
# =============================================================================
|
|
# LangChain Configuration (optional)
|
|
# =============================================================================
|
|
LANGCHAIN_API_KEY=
|
|
LANGCHAIN_PROJECT=classroom-copilot
|
|
|
|
# =============================================================================
|
|
# Document Processing (Docling)
|
|
# =============================================================================
|
|
DOCLING_URL=http://localhost:8000
|
|
DOCLING_TIMEOUT=300
|
|
DOCLING_PDF_BACKEND=marker
|
|
DOCLING_INCLUDE_IMAGES=false
|
|
DOCLING_IMAGES_SCALE=1.0
|
|
DOCLING_VLM_MODEL=
|
|
DOCLING_VLM_TIMEOUT=300
|
|
DOCLING_NO_OCR_BY_PAGE=false
|
|
DOCLING_OCR_BY_PAGE=false
|
|
DOCLING_VLM_BY_PAGE=false
|
|
DOCLING_SPLIT_THRESHOLD=0.95
|
|
DOCLING_USE_SPLIT_MAP=false
|
|
DOCLING_PICTURE_DESCRIPTION_AREA_THRESHOLD=0.1
|
|
|
|
# Auto-processing flags
|
|
AUTO_DOCLING_OCR=false
|
|
AUTO_DOCLING_NO_OCR=false
|
|
AUTO_DOCLING_VLM=false
|
|
AUTO_DOCUMENT_ANALYSIS=false
|
|
AUTO_PAGE_IMAGES=false
|
|
AUTO_SPLIT_MAP_GENERATION=false
|
|
AUTO_TIKA_PROCESSING=false
|
|
|
|
# =============================================================================
|
|
# Document Processing (Tika)
|
|
# =============================================================================
|
|
TIKA_URL=http://localhost:9998
|
|
TIKA_TIMEOUT=120
|
|
|
|
# =============================================================================
|
|
# Queue Configuration
|
|
# =============================================================================
|
|
QUEUE_WORKERS=4
|
|
QUEUE_MAX_MEMORY_MB=512
|
|
QUEUE_MAX_USER_MEMORY_MB=128
|
|
QUEUE_DOCLING_LIMIT=5
|
|
QUEUE_DOCUMENT_ANALYSIS_LIMIT=3
|
|
QUEUE_LLM_LIMIT=2
|
|
QUEUE_PAGE_IMAGES_LIMIT=10
|
|
QUEUE_SPLIT_MAP_LIMIT=5
|
|
QUEUE_TIKA_LIMIT=5
|
|
|
|
# Upload processing
|
|
UPLOAD_QUEUE_ENABLED=true
|
|
UPLOAD_IMMEDIATE_PROCESSING=false
|
|
UPLOAD_STATUS_POLLING_INTERVAL=5
|
|
MAX_FILE_SIZE_MB=50
|
|
|
|
# =============================================================================
|
|
# OCR Configuration
|
|
# =============================================================================
|
|
OCR_ENGINE=tesseract
|
|
OCR_LANG=eng
|
|
|
|
# =============================================================================
|
|
# Memory / Warning Thresholds
|
|
# =============================================================================
|
|
MEMORY_WARNING_THRESHOLD=80
|
|
MEMORY_REJECT_THRESHOLD=95
|
|
|
|
# =============================================================================
|
|
# TLSync Configuration
|
|
# =============================================================================
|
|
# Server-side secret used to sign short-lived TLSync auth tokens. Do not expose with a VITE_ prefix.
|
|
TLSYNC_SECRET=change-me-server-side-only
|
|
TLSYNC_TOKEN_TTL_SECONDS=300
|
|
|
|
# =============================================================================
|
|
# CORS Configuration
|
|
# =============================================================================
|
|
CORS_SITE_URL=https://app.classroomcopilot.ai
|
|
CORS_API_URL=https://api.classroomcopilot.ai
|
|
CORS_GRAPH_URL=https://graph.classroomcopilot.ai
|
|
|
|
# =============================================================================
|
|
# Logging
|
|
# =============================================================================
|
|
LOG_LEVEL=info
|
|
LOG_PATH=/var/log/classroom-copilot
|
|
|
|
# =============================================================================
|
|
# Development Mode
|
|
# =============================================================================
|
|
DEV_MODE=false
|
|
BACKEND_DEV_MODE=false
|
|
BACKEND_INIT_PATH=/app/init
|
|
|
|
# =============================================================================
|
|
# App Metadata
|
|
# =============================================================================
|
|
APP_NAME=Classroom Copilot
|
|
APP_VERSION=1.0.0
|
|
APP_AUTHOR=KevlarAI
|
|
APP_AUTHOR_EMAIL=kcar@kevlarai.com
|
|
APP_DESCRIPTION=AI-powered classroom collaboration platform
|
|
APP_PROTOCOL=https
|
|
APP_BOLT_URL=bolt://neo4j:7687
|
|
APP_GRAPH_URL=http://localhost:7474
|
|
|
|
# =============================================================================
|
|
# External API Keys
|
|
# =============================================================================
|
|
YOUTUBE_API_KEY=
|
|
GOOGLE_CLIENT_SECRETS_FILE=
|
|
|
|
# =============================================================================
|
|
# Node Filesystem (for document storage)
|
|
# =============================================================================
|
|
NODE_FILESYSTEM_PATH=/tmp/cc-nodes
|