chore: cleanup environment files
- Updated .env configuration - Removed .env.local (274 lines) - Removed .env.prod (260 lines) - Cleanup of environment-specific configs
This commit is contained in:
parent
c75fa1f6a2
commit
c92da048fd
12
.env
12
.env
@ -24,7 +24,7 @@ APP_VERSION=0.0.1
|
||||
APP_DESCRIPTION="An AI copilot for learners and educators."
|
||||
APP_AUTHOR=KevlarAI
|
||||
APP_AUTHOR_EMAIL=kcar@kevlarai.com
|
||||
APP_PROTOCOL=https
|
||||
APP_PROTOCOL=http
|
||||
|
||||
## =====================================================
|
||||
## SERVER & RUNTIME CONFIGURATION
|
||||
@ -51,11 +51,11 @@ ADMIN_WORKER_EMAIL=kcar@kevlarai.com
|
||||
## =====================================================
|
||||
SUPABASE_URL=http://192.168.0.155:8000
|
||||
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxODE3MjE5LCJpc3MiOiJzdXBhYmFzZSIsInN1YiI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsImV4cCI6MzM0ODYxNzIxOSwicm9sZSI6ImFub24ifQ.JbmQOTOBAzpBJ9JttOrGlo_JTXDXhCjYMjKiFvRkaNQ
|
||||
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNjk3NTY0LCJpc3MiOiJzdXBhYmFzZSIsImV4cCI6MjA4NzA1NzU2NCwicm9sZSI6InNlcnZpY2Vfcm9sZSJ9.zgeBoO5aVkI3lxLUlwGpyGKaUX9xMcTv_C7vkby8Rk4
|
||||
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNzAwMTAwLCJpc3MiOiJzdXBhYmFzZSIsInN1YiI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsImV4cCI6MjA4NzA2MDEwMCwicm9sZSI6InNlcnZpY2Vfcm9sZSJ9.psBGbPG4TcuZo6NkN3h5yNhTK-p5vpUWXRl3PXGk350
|
||||
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
|
||||
POSTGRES_HOST=db
|
||||
POSTGRES_DB=postgres
|
||||
JWT_SECRET=super-secret-jwt-token-with-at-least-32-characters-long
|
||||
JWT_SECRET=mE9FCC2YvHyrFIyyloH27F3lw51Ij93a77ejMZY-NRc
|
||||
|
||||
## =====================================================
|
||||
## NEO4J DATABASE CONFIGURATION
|
||||
@ -198,8 +198,8 @@ DOCLING_VLM_DO_PICTURE_DESCRIPTION=true
|
||||
## =====================================================
|
||||
## APPLICATION DOMAINS & URLS
|
||||
## =====================================================
|
||||
VITE_APP_URL=https://app.classroomcopilot.ai
|
||||
APP_API_URL=https://api.classroomcopilot.ai
|
||||
VITE_APP_URL=http://192.168.0.94:5173
|
||||
APP_API_URL=http://192.168.0.94:8000
|
||||
APP_GRAPH_URL=https://192.168.0.208
|
||||
APP_BOLT_URL=bolt://192.168.0.208
|
||||
|
||||
@ -248,7 +248,7 @@ UPLOAD_STATUS_POLLING_INTERVAL=5 # Status polling interval (seconds)
|
||||
## =====================================================
|
||||
## CORS & SECURITY SETTINGS
|
||||
## =====================================================
|
||||
CORS_SITE_URL=https://app.classroomcopilot.ai,https://api.classroomcopilot.ai,https://graph.classroomcopilot.ai
|
||||
CORS_SITE_URL=http://192.168.0.94:5173,http://192.168.0.94:8000,http://192.168.0.208,http://localhost:5173
|
||||
CORS_GRAPH_URL={APP_GRAPH_URL}
|
||||
CORS_API_URL={APP_API_URL}
|
||||
|
||||
|
||||
274
.env.local
274
.env.local
@ -1,274 +0,0 @@
|
||||
#############################################################
|
||||
# CLASSROOM COPILOT - ENVIRONMENT CONFIGURATION
|
||||
#############################################################
|
||||
|
||||
## =====================================================
|
||||
## DOCKER INITIALIZATION CONFIGURATION
|
||||
## =====================================================
|
||||
# Set RUN_INIT=true to run initialization tasks on container startup
|
||||
# Set to false or remove to skip initialization (for subsequent deployments)
|
||||
RUN_INIT=true
|
||||
|
||||
# INIT_MODE options:
|
||||
# - infra: Infrastructure only (Neo4j schema, calendar, Supabase buckets)
|
||||
# - full: Full setup including demo school and users (infra → demo-school → demo-users → gais-data)
|
||||
# - infra,demo-school,demo-users: Custom combination (comma-separated)
|
||||
# - infra,gais-data: Infrastructure + GAIS data import
|
||||
INIT_MODE=infra,demo-school,demo-users
|
||||
|
||||
## =====================================================
|
||||
## APP INFORMATION & METADATA
|
||||
## =====================================================
|
||||
APP_NAME=ClassroomCopilot
|
||||
APP_VERSION=0.0.1
|
||||
APP_DESCRIPTION="An AI copilot for learners and educators."
|
||||
APP_AUTHOR=KevlarAI
|
||||
APP_AUTHOR_EMAIL=kcar@kevlarai.com
|
||||
APP_PROTOCOL=https
|
||||
|
||||
## =====================================================
|
||||
## SERVER & RUNTIME CONFIGURATION
|
||||
## =====================================================
|
||||
UVICORN_PORT=8080
|
||||
UVICORN_WORKERS=2
|
||||
UVICORN_TIMEOUT=300
|
||||
DEV_MODE=false
|
||||
BACKEND_DEV_MODE=false
|
||||
|
||||
## =====================================================
|
||||
## ADMIN USER CONFIGURATION
|
||||
## =====================================================
|
||||
# Regular Admin
|
||||
ADMIN_EMAIL=admin@classroomcopilot.ai
|
||||
ADMIN_PASSWORD=&%4Dm1n&%
|
||||
ADMIN_NAME="Kevin Carter (Admin)"
|
||||
ADMIN_USERNAME=kcar
|
||||
ADMIN_DISPLAY_NAME="K Car (Admin)"
|
||||
ADMIN_WORKER_EMAIL=kcar@kevlarai.com
|
||||
|
||||
## =====================================================
|
||||
## SUPABASE DATABASE CONFIGURATION
|
||||
## =====================================================
|
||||
SUPABASE_URL=http://192.168.0.155:8000
|
||||
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxODE3MjE5LCJpc3MiOiJzdXBhYmFzZSIsInN1YiI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsImV4cCI6MzM0ODYxNzIxOSwicm9sZSI6ImFub24ifQ.JbmQOTOBAzpBJ9JttOrGlo_JTXDXhCjYMjKiFvRkaNQ
|
||||
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNjk3NTY0LCJpc3MiOiJzdXBhYmFzZSIsImV4cCI6MjA4NzA1NzU2NCwicm9sZSI6InNlcnZpY2Vfcm9sZSJ9.zgeBoO5aVkI3lxLUlwGpyGKaUX9xMcTv_C7vkby8Rk4
|
||||
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
|
||||
POSTGRES_HOST=db
|
||||
POSTGRES_DB=postgres
|
||||
JWT_SECRET=super-secret-jwt-token-with-at-least-32-characters-long
|
||||
|
||||
## =====================================================
|
||||
## NEO4J DATABASE CONFIGURATION
|
||||
## =====================================================
|
||||
USER_NEO4J=neo4j
|
||||
PASSWORD_NEO4J=&%N304j&%
|
||||
NEO4J_CC_DB=classroomcopilot
|
||||
PORT_NEO4J_BOLT=7687
|
||||
PORT_NEO4J_HTTP=7474
|
||||
PORT_NEO4J_HTTPS=7473
|
||||
|
||||
## =====================================================
|
||||
## OLLAMA AI SERVICE CONFIGURATION
|
||||
## =====================================================
|
||||
HOST_OLLAMA=http://ollama.kevlarai.com
|
||||
PORT_OLLAMA=11434
|
||||
OLLAMA_MODEL=qwen2.5-coder:32b
|
||||
|
||||
## =====================================================
|
||||
## LANGCHAIN CONFIGURATION
|
||||
## =====================================================
|
||||
LANGCHAIN_API_KEY=
|
||||
LANGCHAIN_TRACING_V2=false
|
||||
LANGCHAIN_PROJECT='Classroom Copilot'
|
||||
|
||||
## =====================================================
|
||||
## GOOGLE API CONFIGURATION
|
||||
## =====================================================
|
||||
YOUTUBE_API_KEY=AIzaSyDbpJInK6dsFUjY6oG60FlzYkj7JUJmUNs
|
||||
GOOGLE_CLIENT_SECRETS_FILE=Users/kcar/ClassroomCopilot/backend/app/secrets/google_cloud_yt_credentials.json
|
||||
|
||||
## =====================================================
|
||||
## DOCUMENT PROCESSING SERVICES
|
||||
## =====================================================
|
||||
# External Service Endpoints
|
||||
TIKA_URL=https://tika.kevlarai.com
|
||||
TIKA_TIMEOUT=300
|
||||
DOCLING_URL=https://docling.kevlarai.com
|
||||
|
||||
## =====================================================
|
||||
## DOCUMENT STRUCTURE DISCOVERY & ANALYSIS
|
||||
## =====================================================
|
||||
# Auto-trigger Phase 1 components after document upload
|
||||
AUTO_TIKA_PROCESSING=true
|
||||
AUTO_PAGE_IMAGES=true
|
||||
AUTO_DOCUMENT_ANALYSIS=true
|
||||
AUTO_SPLIT_MAP_GENERATION=true
|
||||
|
||||
## =====================================================
|
||||
## DOCLING BUNDLE PROCESSING PIPELINES
|
||||
## =====================================================
|
||||
# Pipeline Execution Control (Sequential: no_ocr → ocr → vlm)
|
||||
AUTO_DOCLING_NO_OCR=true
|
||||
AUTO_DOCLING_OCR=true
|
||||
AUTO_DOCLING_VLM=true
|
||||
|
||||
# Bundle Architecture: BY_PAGE Precedence (overrides size thresholds)
|
||||
# These settings take PRIORITY over DOCLING_SPLIT_THRESHOLD
|
||||
DOCLING_NO_OCR_BY_PAGE=false
|
||||
DOCLING_OCR_BY_PAGE=false
|
||||
DOCLING_VLM_BY_PAGE=true
|
||||
|
||||
# Bundle Processing Decision Logic:
|
||||
# 1. BY_PAGE=true → Always create page-based bundles (docling_bundle_split)
|
||||
# 2. BY_PAGE=false + pages < SPLIT_THRESHOLD → Single bundle (docling_bundle)
|
||||
# 3. BY_PAGE=false + pages >= SPLIT_THRESHOLD → Section/chunk bundles (docling_bundle_split)
|
||||
|
||||
## =====================================================
|
||||
## QUEUE SYSTEM & PERFORMANCE
|
||||
## =====================================================
|
||||
# Service Limits (prevent server overload)
|
||||
QUEUE_TIKA_LIMIT=3
|
||||
QUEUE_DOCLING_LIMIT=1
|
||||
QUEUE_LLM_LIMIT=1
|
||||
QUEUE_SPLIT_MAP_LIMIT=10
|
||||
QUEUE_DOCUMENT_ANALYSIS_LIMIT=5
|
||||
QUEUE_PAGE_IMAGES_LIMIT=3
|
||||
|
||||
# Worker Configuration
|
||||
QUEUE_WORKERS=3
|
||||
|
||||
# Service Timeouts (per pipeline type)
|
||||
DOCLING_BUNDLE_TIMEOUT=7200
|
||||
DOCLING_FRONTMATTER_TIMEOUT=300
|
||||
DOCLING_NOOCR_TIMEOUT=600
|
||||
DOCLING_OCR_TIMEOUT=900
|
||||
DOCLING_VLM_TIMEOUT=1800
|
||||
|
||||
# Bundle Architecture Settings
|
||||
DOCLING_SPLIT_THRESHOLD=50
|
||||
DOCLING_FALLBACK_CHUNK_PAGES=25
|
||||
DOCLING_USE_SPLIT_MAP=true
|
||||
|
||||
## =====================================================
|
||||
## DOCLING API CONFIGURATION (NEW BUNDLE ARCHITECTURE)
|
||||
## =====================================================
|
||||
# Global Processing Settings (Docling API v1.5.1 Compliance)
|
||||
DOCLING_PDF_BACKEND=dlparse_v4
|
||||
DOCLING_INCLUDE_IMAGES=true
|
||||
DOCLING_IMAGES_SCALE=2.0
|
||||
|
||||
# OCR Engine Configuration (Global)
|
||||
OCR_ENGINE=easyocr
|
||||
OCR_LANG=en
|
||||
DOCLING_PICTURE_DESCRIPTION_AREA_THRESHOLD=0.05
|
||||
|
||||
# =====================================================
|
||||
# PIPELINE-SPECIFIC PROCESSING OPTIONS
|
||||
# =====================================================
|
||||
# NO_OCR Pipeline (Fast baseline processing)
|
||||
DOCLING_NO_OCR_TABLE_MODE=fast
|
||||
DOCLING_NO_OCR_TABLE_CELL_MATCHING=false
|
||||
DOCLING_NO_OCR_DO_FORMULA_ENRICHMENT=false
|
||||
DOCLING_NO_OCR_DO_CODE_ENRICHMENT=false
|
||||
DOCLING_NO_OCR_DO_TABLE_STRUCTURE=true
|
||||
DOCLING_NO_OCR_DO_PICTURE_CLASSIFICATION=false
|
||||
DOCLING_NO_OCR_DO_PICTURE_DESCRIPTION=false
|
||||
|
||||
# OCR Pipeline (Accurate processing with text enhancement)
|
||||
DOCLING_OCR_TABLE_MODE=accurate
|
||||
DOCLING_OCR_TABLE_CELL_MATCHING=true
|
||||
DOCLING_OCR_DO_FORMULA_ENRICHMENT=true
|
||||
DOCLING_OCR_DO_CODE_ENRICHMENT=false
|
||||
DOCLING_OCR_DO_TABLE_STRUCTURE=true
|
||||
DOCLING_OCR_DO_PICTURE_CLASSIFICATION=true
|
||||
DOCLING_OCR_DO_PICTURE_DESCRIPTION=false
|
||||
|
||||
# VLM Pipeline (Vision-enhanced processing)
|
||||
DOCLING_VLM_MODEL=got_ocr_2
|
||||
# VLM_MODEL_LOCAL={"repo_id": "ds4sd/SmolDocling-256M-preview", "response_format": "doctags"}
|
||||
# VLM_MODEL_API={"url": "http://localhost:1234/v1/chat/completions", "response_format": "doctags"}
|
||||
DOCLING_VLM_TABLE_MODE=accurate
|
||||
DOCLING_VLM_TABLE_CELL_MATCHING=true
|
||||
DOCLING_VLM_DO_FORMULA_ENRICHMENT=true
|
||||
DOCLING_VLM_DO_CODE_ENRICHMENT=false
|
||||
DOCLING_VLM_DO_TABLE_STRUCTURE=true
|
||||
DOCLING_VLM_DO_PICTURE_CLASSIFICATION=true
|
||||
DOCLING_VLM_DO_PICTURE_DESCRIPTION=true
|
||||
|
||||
## =====================================================
|
||||
## APPLICATION DOMAINS & URLS
|
||||
## =====================================================
|
||||
VITE_APP_URL=https://app.classroomcopilot.ai
|
||||
APP_API_URL=https://api.classroomcopilot.ai
|
||||
APP_GRAPH_URL=https://192.168.0.208
|
||||
APP_BOLT_URL=bolt://192.168.0.208
|
||||
|
||||
## =====================================================
|
||||
## REDIS CONFIGURATION & ENVIRONMENT ISOLATION
|
||||
## =====================================================
|
||||
# Redis Connection
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
REDIS_SSL=false
|
||||
|
||||
# Environment-Specific Database Isolation
|
||||
REDIS_DB_DEV=0 # Development database (auto-wiped)
|
||||
REDIS_DB_PROD=1 # Production database (persistent)
|
||||
REDIS_DB_TEST=2 # Testing database (isolated)
|
||||
|
||||
# Connection URLs (auto-constructed)
|
||||
REDIS_URL_DEV=redis://redis:6379/0
|
||||
REDIS_URL_PROD=redis://redis:6379/1
|
||||
REDIS_URL_TEST=redis://redis:6379/2
|
||||
|
||||
# Queue Persistence Strategy
|
||||
REDIS_PERSIST_DEV=false # No persistence in dev (fast startup)
|
||||
REDIS_PERSIST_PROD=true # Full persistence in prod (durability)
|
||||
REDIS_TASK_TTL_DEV=3600 # 1 hour task retention in dev
|
||||
REDIS_TASK_TTL_PROD=86400 # 24 hour task retention in prod
|
||||
|
||||
# Health Check & Recovery
|
||||
REDIS_HEALTH_CHECK_INTERVAL=30 # Health check every 30s
|
||||
REDIS_RECOVERY_ENABLED=true # Enable automatic recovery
|
||||
REDIS_MAX_RETRY_ATTEMPTS=3 # Max connection retry attempts
|
||||
|
||||
# Memory-Aware Queue Management
|
||||
QUEUE_MAX_MEMORY_MB=2048 # 2GB total queue memory limit
|
||||
QUEUE_MAX_USER_MEMORY_MB=512 # 512MB per user limit
|
||||
MAX_FILE_SIZE_MB=100 # 100MB max single file size
|
||||
MEMORY_WARNING_THRESHOLD=0.8 # Warn users at 80% capacity
|
||||
MEMORY_REJECT_THRESHOLD=0.95 # Reject uploads at 95% capacity
|
||||
|
||||
# Upload Queue Settings
|
||||
UPLOAD_QUEUE_ENABLED=true # Enable intelligent upload queuing
|
||||
UPLOAD_IMMEDIATE_PROCESSING=false # Process files immediately (legacy mode)
|
||||
UPLOAD_STATUS_POLLING_INTERVAL=5 # Status polling interval (seconds)
|
||||
|
||||
## =====================================================
|
||||
## CORS & SECURITY SETTINGS
|
||||
## =====================================================
|
||||
CORS_SITE_URL=https://app.classroomcopilot.ai,https://api.classroomcopilot.ai,https://graph.classroomcopilot.ai
|
||||
CORS_GRAPH_URL={APP_GRAPH_URL}
|
||||
CORS_API_URL={APP_API_URL}
|
||||
|
||||
## =====================================================
|
||||
## FILE SYSTEM & STORAGE PATHS
|
||||
## =====================================================
|
||||
NODE_FILESYSTEM_PATH=./data/node_filesystem
|
||||
BACKEND_INIT_PATH=./data/init_data
|
||||
LOG_PATH=./data/logs/
|
||||
|
||||
## =================================================#####
|
||||
## LOGGING CONFIGURATION
|
||||
## =====================================================
|
||||
# Log level must be lowercase for Node.js services using Pino logger (storage, functions)
|
||||
# Valid values: trace, debug, info, warn, error, fatal
|
||||
LOG_LEVEL=debug
|
||||
|
||||
|
||||
## =================================================#####
|
||||
## API KEYS
|
||||
## =====================================================
|
||||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
OPENAI_API_KEY=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
|
||||
260
.env.prod
260
.env.prod
@ -1,260 +0,0 @@
|
||||
#############################################################
|
||||
# CLASSROOM COPILOT - ENVIRONMENT CONFIGURATION
|
||||
#############################################################
|
||||
|
||||
## =====================================================
|
||||
## APP INFORMATION & METADATA
|
||||
## =====================================================
|
||||
APP_NAME=ClassroomCopilot
|
||||
APP_VERSION=0.0.1
|
||||
APP_DESCRIPTION="An AI copilot for learners and educators."
|
||||
APP_AUTHOR=KevlarAI
|
||||
APP_AUTHOR_EMAIL=kcar@kevlarai.com
|
||||
APP_PROTOCOL=https
|
||||
|
||||
## =====================================================
|
||||
## SERVER & RUNTIME CONFIGURATION
|
||||
## =====================================================
|
||||
UVICORN_PORT=8080
|
||||
UVICORN_WORKERS=2
|
||||
UVICORN_TIMEOUT=300
|
||||
DEV_MODE=false
|
||||
BACKEND_DEV_MODE=false
|
||||
|
||||
## =====================================================
|
||||
## ADMIN USER CONFIGURATION
|
||||
## =====================================================
|
||||
# Regular Admin
|
||||
ADMIN_EMAIL=admin@classroomcopilot.ai
|
||||
ADMIN_PASSWORD=&%4Dm1n&%
|
||||
ADMIN_NAME="Kevin Carter (Admin)"
|
||||
ADMIN_USERNAME=kcar
|
||||
ADMIN_DISPLAY_NAME="K Car (Admin)"
|
||||
ADMIN_WORKER_EMAIL=kcar@kevlarai.com
|
||||
|
||||
## =====================================================
|
||||
## SUPABASE DATABASE CONFIGURATION
|
||||
## =====================================================
|
||||
SUPABASE_URL=http://supa.classroomcopilot.ai
|
||||
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNjk3NTY0LCJpc3MiOiJzdXBhYmFzZSIsImV4cCI6MjA4NzA1NzU2NCwicm9sZSI6ImFub24ifQ.hoOVYggaDPF_FY1So0fG0TFQa_JtRFm45Bs34Avb90A
|
||||
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNjk3NTY0LCJpc3MiOiJzdXBhYmFzZSIsImV4cCI6MjA4NzA1NzU2NCwicm9sZSI6InNlcnZpY2Vfcm9sZSJ9.zgeBoO5aVkI3lxLUlwGpyGKaUX9xMcTv_C7vkby8Rk4
|
||||
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
|
||||
POSTGRES_HOST=db
|
||||
POSTGRES_DB=postgres
|
||||
JWT_SECRET=super-secret-jwt-token-with-at-least-32-characters-long
|
||||
|
||||
## =====================================================
|
||||
## NEO4J DATABASE CONFIGURATION
|
||||
## =====================================================
|
||||
USER_NEO4J=neo4j
|
||||
PASSWORD_NEO4J=&%N304j&%
|
||||
NEO4J_CC_DB=classroomcopilot
|
||||
PORT_NEO4J_BOLT=7687
|
||||
PORT_NEO4J_HTTP=7474
|
||||
PORT_NEO4J_HTTPS=7473
|
||||
|
||||
## =====================================================
|
||||
## OLLAMA AI SERVICE CONFIGURATION
|
||||
## =====================================================
|
||||
HOST_OLLAMA=http://localhost
|
||||
PORT_OLLAMA=11434
|
||||
OLLAMA_MODEL=qwen2.5-coder:32b
|
||||
|
||||
## =====================================================
|
||||
## LANGCHAIN CONFIGURATION
|
||||
## =====================================================
|
||||
LANGCHAIN_API_KEY=
|
||||
LANGCHAIN_TRACING_V2=false
|
||||
LANGCHAIN_PROJECT='Classroom Copilot'
|
||||
|
||||
## =====================================================
|
||||
## GOOGLE API CONFIGURATION
|
||||
## =====================================================
|
||||
YOUTUBE_API_KEY=AIzaSyDbpJInK6dsFUjY6oG60FlzYkj7JUJmUNs
|
||||
GOOGLE_CLIENT_SECRETS_FILE=Users/kcar/ClassroomCopilot/backend/app/secrets/google_cloud_yt_credentials.json
|
||||
|
||||
## =====================================================
|
||||
## DOCUMENT PROCESSING SERVICES
|
||||
## =====================================================
|
||||
# External Service Endpoints
|
||||
TIKA_URL=http://ubuntu-ct-tika:9998
|
||||
TIKA_TIMEOUT=300
|
||||
DOCLING_URL=http://ubuntu-server:5001
|
||||
|
||||
## =====================================================
|
||||
## DOCUMENT STRUCTURE DISCOVERY & ANALYSIS
|
||||
## =====================================================
|
||||
# Auto-trigger Phase 1 components after document upload
|
||||
AUTO_TIKA_PROCESSING=true
|
||||
AUTO_PAGE_IMAGES=true
|
||||
AUTO_DOCUMENT_ANALYSIS=true
|
||||
AUTO_SPLIT_MAP_GENERATION=true
|
||||
|
||||
## =====================================================
|
||||
## DOCLING BUNDLE PROCESSING PIPELINES
|
||||
## =====================================================
|
||||
# Pipeline Execution Control (Sequential: no_ocr → ocr → vlm)
|
||||
AUTO_DOCLING_NO_OCR=true
|
||||
AUTO_DOCLING_OCR=true
|
||||
AUTO_DOCLING_VLM=true
|
||||
|
||||
# Bundle Architecture: BY_PAGE Precedence (overrides size thresholds)
|
||||
# These settings take PRIORITY over DOCLING_SPLIT_THRESHOLD
|
||||
DOCLING_NO_OCR_BY_PAGE=false
|
||||
DOCLING_OCR_BY_PAGE=false
|
||||
DOCLING_VLM_BY_PAGE=true
|
||||
|
||||
# Bundle Processing Decision Logic:
|
||||
# 1. BY_PAGE=true → Always create page-based bundles (docling_bundle_split)
|
||||
# 2. BY_PAGE=false + pages < SPLIT_THRESHOLD → Single bundle (docling_bundle)
|
||||
# 3. BY_PAGE=false + pages >= SPLIT_THRESHOLD → Section/chunk bundles (docling_bundle_split)
|
||||
|
||||
## =====================================================
|
||||
## QUEUE SYSTEM & PERFORMANCE
|
||||
## =====================================================
|
||||
# Service Limits (prevent server overload)
|
||||
QUEUE_TIKA_LIMIT=3
|
||||
QUEUE_DOCLING_LIMIT=1
|
||||
QUEUE_LLM_LIMIT=1
|
||||
QUEUE_SPLIT_MAP_LIMIT=10
|
||||
QUEUE_DOCUMENT_ANALYSIS_LIMIT=5
|
||||
QUEUE_PAGE_IMAGES_LIMIT=3
|
||||
|
||||
# Worker Configuration
|
||||
QUEUE_WORKERS=3
|
||||
|
||||
# Service Timeouts (per pipeline type)
|
||||
DOCLING_BUNDLE_TIMEOUT=7200
|
||||
DOCLING_FRONTMATTER_TIMEOUT=300
|
||||
DOCLING_NOOCR_TIMEOUT=600
|
||||
DOCLING_OCR_TIMEOUT=900
|
||||
DOCLING_VLM_TIMEOUT=1800
|
||||
|
||||
# Bundle Architecture Settings
|
||||
DOCLING_SPLIT_THRESHOLD=50
|
||||
DOCLING_FALLBACK_CHUNK_PAGES=25
|
||||
DOCLING_USE_SPLIT_MAP=true
|
||||
|
||||
## =====================================================
|
||||
## DOCLING API CONFIGURATION (NEW BUNDLE ARCHITECTURE)
|
||||
## =====================================================
|
||||
# Global Processing Settings (Docling API v1.5.1 Compliance)
|
||||
DOCLING_PDF_BACKEND=dlparse_v4
|
||||
DOCLING_INCLUDE_IMAGES=true
|
||||
DOCLING_IMAGES_SCALE=2.0
|
||||
|
||||
# OCR Engine Configuration (Global)
|
||||
OCR_ENGINE=easyocr
|
||||
OCR_LANG=en
|
||||
DOCLING_PICTURE_DESCRIPTION_AREA_THRESHOLD=0.05
|
||||
|
||||
# =====================================================
|
||||
# PIPELINE-SPECIFIC PROCESSING OPTIONS
|
||||
# =====================================================
|
||||
# NO_OCR Pipeline (Fast baseline processing)
|
||||
DOCLING_NO_OCR_TABLE_MODE=fast
|
||||
DOCLING_NO_OCR_TABLE_CELL_MATCHING=false
|
||||
DOCLING_NO_OCR_DO_FORMULA_ENRICHMENT=false
|
||||
DOCLING_NO_OCR_DO_CODE_ENRICHMENT=false
|
||||
DOCLING_NO_OCR_DO_TABLE_STRUCTURE=true
|
||||
DOCLING_NO_OCR_DO_PICTURE_CLASSIFICATION=false
|
||||
DOCLING_NO_OCR_DO_PICTURE_DESCRIPTION=false
|
||||
|
||||
# OCR Pipeline (Accurate processing with text enhancement)
|
||||
DOCLING_OCR_TABLE_MODE=accurate
|
||||
DOCLING_OCR_TABLE_CELL_MATCHING=true
|
||||
DOCLING_OCR_DO_FORMULA_ENRICHMENT=true
|
||||
DOCLING_OCR_DO_CODE_ENRICHMENT=false
|
||||
DOCLING_OCR_DO_TABLE_STRUCTURE=true
|
||||
DOCLING_OCR_DO_PICTURE_CLASSIFICATION=true
|
||||
DOCLING_OCR_DO_PICTURE_DESCRIPTION=false
|
||||
|
||||
# VLM Pipeline (Vision-enhanced processing)
|
||||
DOCLING_VLM_MODEL=got_ocr_2
|
||||
# VLM_MODEL_LOCAL={"repo_id": "ds4sd/SmolDocling-256M-preview", "response_format": "doctags"}
|
||||
# VLM_MODEL_API={"url": "http://localhost:1234/v1/chat/completions", "response_format": "doctags"}
|
||||
DOCLING_VLM_TABLE_MODE=accurate
|
||||
DOCLING_VLM_TABLE_CELL_MATCHING=true
|
||||
DOCLING_VLM_DO_FORMULA_ENRICHMENT=true
|
||||
DOCLING_VLM_DO_CODE_ENRICHMENT=false
|
||||
DOCLING_VLM_DO_TABLE_STRUCTURE=true
|
||||
DOCLING_VLM_DO_PICTURE_CLASSIFICATION=true
|
||||
DOCLING_VLM_DO_PICTURE_DESCRIPTION=true
|
||||
|
||||
## =====================================================
|
||||
## APPLICATION DOMAINS & URLS
|
||||
## =====================================================
|
||||
VITE_APP_URL=http://localhost:3000
|
||||
APP_API_URL=http://localhost:{UVICORN_PORT}
|
||||
APP_GRAPH_URL=http://localhost:7474
|
||||
APP_BOLT_URL=bolt://localhost:7687
|
||||
|
||||
## =====================================================
|
||||
## REDIS CONFIGURATION & ENVIRONMENT ISOLATION
|
||||
## =====================================================
|
||||
# Redis Connection
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
REDIS_SSL=false
|
||||
|
||||
# Environment-Specific Database Isolation
|
||||
REDIS_DB_DEV=0 # Development database (auto-wiped)
|
||||
REDIS_DB_PROD=1 # Production database (persistent)
|
||||
REDIS_DB_TEST=2 # Testing database (isolated)
|
||||
|
||||
# Connection URLs (auto-constructed)
|
||||
REDIS_URL_DEV=redis://localhost:6379/0
|
||||
REDIS_URL_PROD=redis://localhost:6379/1
|
||||
REDIS_URL_TEST=redis://localhost:6379/2
|
||||
|
||||
# Queue Persistence Strategy
|
||||
REDIS_PERSIST_DEV=false # No persistence in dev (fast startup)
|
||||
REDIS_PERSIST_PROD=true # Full persistence in prod (durability)
|
||||
REDIS_TASK_TTL_DEV=3600 # 1 hour task retention in dev
|
||||
REDIS_TASK_TTL_PROD=86400 # 24 hour task retention in prod
|
||||
|
||||
# Health Check & Recovery
|
||||
REDIS_HEALTH_CHECK_INTERVAL=30 # Health check every 30s
|
||||
REDIS_RECOVERY_ENABLED=true # Enable automatic recovery
|
||||
REDIS_MAX_RETRY_ATTEMPTS=3 # Max connection retry attempts
|
||||
|
||||
# Memory-Aware Queue Management
|
||||
QUEUE_MAX_MEMORY_MB=2048 # 2GB total queue memory limit
|
||||
QUEUE_MAX_USER_MEMORY_MB=512 # 512MB per user limit
|
||||
MAX_FILE_SIZE_MB=100 # 100MB max single file size
|
||||
MEMORY_WARNING_THRESHOLD=0.8 # Warn users at 80% capacity
|
||||
MEMORY_REJECT_THRESHOLD=0.95 # Reject uploads at 95% capacity
|
||||
|
||||
# Upload Queue Settings
|
||||
UPLOAD_QUEUE_ENABLED=true # Enable intelligent upload queuing
|
||||
UPLOAD_IMMEDIATE_PROCESSING=false # Process files immediately (legacy mode)
|
||||
UPLOAD_STATUS_POLLING_INTERVAL=5 # Status polling interval (seconds)
|
||||
|
||||
## =====================================================
|
||||
## CORS & SECURITY SETTINGS
|
||||
## =====================================================
|
||||
CORS_SITE_URL=http://localhost:5173,http://localhost:8000,http://127.0.0.1:8000
|
||||
CORS_GRAPH_URL={APP_GRAPH_URL}
|
||||
CORS_API_URL={APP_API_URL}
|
||||
|
||||
## =====================================================
|
||||
## FILE SYSTEM & STORAGE PATHS
|
||||
## =====================================================
|
||||
NODE_FILESYSTEM_PATH=./data/node_filesystem
|
||||
BACKEND_INIT_PATH=./data/init_data
|
||||
LOG_PATH=./data/logs/
|
||||
|
||||
## =================================================#####
|
||||
## LOGGING CONFIGURATION
|
||||
## =====================================================
|
||||
# Log level must be lowercase for Node.js services using Pino logger (storage, functions)
|
||||
# Valid values: trace, debug, info, warn, error, fatal
|
||||
LOG_LEVEL=debug
|
||||
|
||||
|
||||
## =================================================#####
|
||||
## API KEYS
|
||||
## =====================================================
|
||||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||||
OPENAI_API_KEY=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
|
||||
Loading…
x
Reference in New Issue
Block a user