diff --git a/.env b/.env index f6e6295..f0dd666 100644 --- a/.env +++ b/.env @@ -49,8 +49,8 @@ ADMIN_WORKER_EMAIL=kcar@kevlarai.com ## ===================================================== ## SUPABASE DATABASE CONFIGURATION ## ===================================================== -SUPABASE_URL=https://supa.classroomcopilot.ai -ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiaWF0IjoxNzcxNjk3NTY0LCJpc3MiOiJzdXBhYmFzZSIsImV4cCI6MjA4NzA1NzU2NCwicm9sZSI6ImFub24ifQ.hoOVYggaDPF_FY1So0fG0TFQa_JtRFm45Bs34Avb90A +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 diff --git a/.env.local b/.env.local index 5a8ef9d..f0dd666 100644 --- a/.env.local +++ b/.env.local @@ -2,6 +2,20 @@ # 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 ## ===================================================== @@ -18,8 +32,8 @@ APP_PROTOCOL=https UVICORN_PORT=8080 UVICORN_WORKERS=2 UVICORN_TIMEOUT=300 -DEV_MODE=true -BACKEND_DEV_MODE=true +DEV_MODE=false +BACKEND_DEV_MODE=false ## ===================================================== ## ADMIN USER CONFIGURATION @@ -27,16 +41,16 @@ BACKEND_DEV_MODE=true # Regular Admin ADMIN_EMAIL=admin@classroomcopilot.ai ADMIN_PASSWORD=&%4Dm1n&% -ADMIN_NAME=Kevin Carter (Admin) +ADMIN_NAME="Kevin Carter (Admin)" ADMIN_USERNAME=kcar -ADMIN_DISPLAY_NAME=K Car (Admin) +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 +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 @@ -56,7 +70,7 @@ PORT_NEO4J_HTTPS=7473 ## ===================================================== ## OLLAMA AI SERVICE CONFIGURATION ## ===================================================== -HOST_OLLAMA=http://localhost +HOST_OLLAMA=http://ollama.kevlarai.com PORT_OLLAMA=11434 OLLAMA_MODEL=qwen2.5-coder:32b @@ -77,9 +91,9 @@ GOOGLE_CLIENT_SECRETS_FILE=Users/kcar/ClassroomCopilot/backend/app/secrets/googl ## DOCUMENT PROCESSING SERVICES ## ===================================================== # External Service Endpoints -TIKA_URL=http://ubuntu-ct-tika:9998 +TIKA_URL=https://tika.kevlarai.com TIKA_TIMEOUT=300 -DOCLING_URL=http://ubuntu-server:5001 +DOCLING_URL=https://docling.kevlarai.com ## ===================================================== ## DOCUMENT STRUCTURE DISCOVERY & ANALYSIS @@ -184,16 +198,16 @@ 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 +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=localhost +REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD= REDIS_SSL=false @@ -204,9 +218,9 @@ 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 +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) @@ -234,7 +248,7 @@ 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_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} @@ -257,4 +271,4 @@ 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 +OPENAI_API_KEY=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 diff --git a/modules/auth/supabase_bearer.py b/modules/auth/supabase_bearer.py index a163ec9..94034f3 100644 --- a/modules/auth/supabase_bearer.py +++ b/modules/auth/supabase_bearer.py @@ -55,7 +55,7 @@ def verify_supabase_jwt_str(token: str) -> dict: def decodeSupabaseJWT(token: str) -> dict: try: - jwt_secret = os.getenv('SUPABASE_JWT_SECRET') + jwt_secret = os.getenv('JWT_SECRET') payload = jwt.decode(token, jwt_secret, algorithms=["HS256"], audience="authenticated") return payload except Exception: @@ -70,7 +70,7 @@ async def verify_supabase_token_dep(credentials: HTTPAuthorizationCredentials = # Verify token using your Supabase JWT secret decoded_token = jwt.decode( token, - os.getenv('SUPABASE_JWT_SECRET'), + os.getenv('JWT_SECRET'), algorithms=["HS256"], audience="authenticated" )