# ===== SprintQuiz environment variables ===== # Copy to .env and fill in real values. NEVER commit .env. # --- Database --- POSTGRES_USER=sprintquiz POSTGRES_PASSWORD=changeme POSTGRES_DB=sprintquiz POSTGRES_HOST=db POSTGRES_PORT=5432 DATABASE_URL=postgresql+asyncpg://sprintquiz:changeme@db:5432/sprintquiz # --- Redis --- REDIS_HOST=redis REDIS_PORT=6379 REDIS_URL=redis://redis:6379/0 CELERY_BROKER_URL=redis://redis:6379/0 CELERY_RESULT_BACKEND=redis://redis:6379/1 # --- Auth: Microsoft Entra ID (OIDC) --- ENTRA_TENANT_ID=00000000-0000-0000-0000-000000000000 ENTRA_CLIENT_ID=00000000-0000-0000-0000-000000000000 ENTRA_CLIENT_SECRET=changeme ENTRA_REDIRECT_URI=http://localhost:8000/api/v1/auth/callback # Restrict to this tenant only (set to the tenant GUID above) ENTRA_ISSUER=https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0 # --- JWT (internal session) --- JWT_SECRET=changeme-use-a-long-random-string JWT_ALGORITHM=HS256 JWT_EXPIRE_MINUTES=1440 SESSION_COOKIE_NAME=sprintquiz_session SESSION_COOKIE_SECURE=false # true in prod # --- AI generation --- # OpenAI-compatible endpoint; can be Azure OpenAI or OpenAI AI_API_BASE=https://api.openai.com/v1 AI_API_KEY=changeme AI_MODEL=gpt-4o-mini # --- File storage --- UPLOAD_DIR=/app/uploads MAX_UPLOAD_MB=25 # --- CORS --- CORS_ORIGINS=http://localhost:8080 # --- App --- APP_ENV=development LOG_LEVEL=INFO