From c92da048fd9ab030b200d7f46be956f879950b19 Mon Sep 17 00:00:00 2001 From: Classroom Copilot Dev Date: Mon, 23 Feb 2026 17:48:35 +0000 Subject: [PATCH] chore: cleanup environment files - Updated .env configuration - Removed .env.local (274 lines) - Removed .env.prod (260 lines) - Cleanup of environment-specific configs --- .env | 12 +-- .env.local | 274 ----------------------------------------------------- .env.prod | 260 -------------------------------------------------- 3 files changed, 6 insertions(+), 540 deletions(-) delete mode 100644 .env.local delete mode 100644 .env.prod diff --git a/.env b/.env index f0dd666..5446d2f 100644 --- a/.env +++ b/.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} diff --git a/.env.local b/.env.local deleted file mode 100644 index f0dd666..0000000 --- a/.env.local +++ /dev/null @@ -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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 diff --git a/.env.prod b/.env.prod deleted file mode 100644 index dec193b..0000000 --- a/.env.prod +++ /dev/null @@ -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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 \ No newline at end of file