# ============================================================================= # MOPC Platform Environment Variables # ============================================================================= # Copy this file to .env.local for local development # Copy to .env for production # ============================================================================= # DATABASE # ============================================================================= DATABASE_URL="postgresql://mopc:password@localhost:5432/mopc" # Docker Compose database credentials POSTGRES_USER="mopc" POSTGRES_PASSWORD="devpassword" POSTGRES_DB="mopc" # ============================================================================= # AUTHENTICATION (NextAuth.js) # ============================================================================= # Production URL (no trailing slash) NEXTAUTH_URL="https://monaco-opc.com" # Generate with: openssl rand -base64 32 NEXTAUTH_SECRET="your-secret-key-here" # ============================================================================= # FILE STORAGE (MinIO) # ============================================================================= # Internal endpoint for server-to-server communication MINIO_ENDPOINT="http://localhost:9000" # Public endpoint for browser-accessible URLs (pre-signed URLs) # Set this when MinIO is behind a reverse proxy or external to Docker network # If not set, falls back to MINIO_ENDPOINT # MINIO_PUBLIC_ENDPOINT="https://storage.monaco-opc.com" MINIO_ACCESS_KEY="minioadmin" MINIO_SECRET_KEY="minioadmin" MINIO_BUCKET="mopc-files" # ============================================================================= # EMAIL (SMTP via Poste.io) # ============================================================================= SMTP_HOST="localhost" SMTP_PORT="587" SMTP_USER="noreply@monaco-opc.com" SMTP_PASS="your-smtp-password" EMAIL_FROM="MOPC Platform " # ============================================================================= # AI (OpenAI for Smart Assignment) # ============================================================================= # Optional: Enable AI-powered jury assignment suggestions OPENAI_API_KEY="" OPENAI_MODEL="gpt-4o" # ============================================================================= # APPLICATION SETTINGS # ============================================================================= # Node environment NODE_ENV="development" # Maximum file upload size in bytes (500MB for videos) MAX_FILE_SIZE="524288000" # Session duration in seconds (24 hours) SESSION_MAX_AGE="86400" # Magic link expiry in seconds (15 minutes) MAGIC_LINK_EXPIRY="900"