- AZURE_AD_REDIRECT_URI set to https://optical-dev.oliver.solutions/ppt-tool/ - Root page intercepts ?code= from Azure AD and forwards to backend callback - Post-OAuth redirect uses NEXT_PUBLIC_BASE_PATH env var (/ppt-tool/dashboard) - Cookie secure flag driven by COOKIE_SECURE env var (true in prod) - Dev login now works alongside Azure AD when DEV_AUTH_PASSWORD is set - Login page shows both Microsoft SSO and dev form when both modes enabled - docker-compose.prod.yml: add COOKIE_SECURE=true and NEXT_PUBLIC_BASE_PATH Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
53 lines
1.5 KiB
Text
53 lines
1.5 KiB
Text
# Database
|
|
POSTGRES_PASSWORD=deckforge
|
|
|
|
# Redis
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# Azure AD Auth (leave blank to enable dev auth bypass)
|
|
AZURE_AD_TENANT_ID=
|
|
AZURE_AD_CLIENT_ID=
|
|
AZURE_AD_CLIENT_SECRET=
|
|
AZURE_AD_REDIRECT_URI=https://yourdomain.com/api/v1/auth/callback
|
|
|
|
# JWT
|
|
JWT_SECRET_KEY=change-me-to-a-random-256-bit-key
|
|
|
|
# Dev Auth (only used when AZURE_AD_TENANT_ID is not set)
|
|
# IMPORTANT: Change this to a strong password or use Azure AD instead
|
|
DEV_AUTH_PASSWORD=change-me-to-secure-password
|
|
|
|
# AI Provider — Google Gemini for all AI operations
|
|
GOOGLE_API_KEY=your_google_api_key_here
|
|
GOOGLE_MODEL=gemini-3.1-pro-preview
|
|
IMAGE_PROVIDER=gemini_flash
|
|
|
|
# Master deck parsing model (use fast lite model for speed)
|
|
PARSING_MODEL=gemini-2.5-flash-lite
|
|
|
|
# Get your Google AI API key at: https://aistudio.google.com/app/apikey
|
|
# Gemini 3.1 Pro: Best quality for presentations
|
|
# Gemini 2.5 Flash Lite: Super fast for parsing (recommended)
|
|
|
|
# Optional: Image fallback providers (if Gemini image gen fails)
|
|
PEXELS_API_KEY=
|
|
PIXABAY_API_KEY=
|
|
DISABLE_IMAGE_GENERATION=false
|
|
|
|
# App
|
|
APP_DATA_DIRECTORY=/app_data
|
|
TEMP_DIRECTORY=/tmp/deckforge
|
|
CAN_CHANGE_KEYS=false
|
|
DISABLE_ANONYMOUS_TRACKING=true
|
|
|
|
# Security
|
|
ALLOWED_ORIGINS=http://localhost:3000,http://localhost
|
|
# In production, set to: https://yourdomain.com,https://www.yourdomain.com
|
|
|
|
# Request size limit (in bytes, default 100MB = 104857600)
|
|
MAX_REQUEST_SIZE=104857600
|
|
|
|
# Database connection pool settings
|
|
DB_POOL_SIZE=20
|
|
DB_MAX_OVERFLOW=40
|
|
DB_POOL_RECYCLE=3600
|