# ============================================================ # AI PROVIDER (choose one) # ============================================================ # Option 1: OpenRouter (default, cheapest, NOT HIPAA) AI_PROVIDER=openrouter OPENROUTER_API_KEY=sk-or-v1-your-key # Option 2: AWS Bedrock (HIPAA compliant with BAA) # AI_PROVIDER=bedrock # AWS_BEDROCK_REGION=us-east-1 # AWS_ACCESS_KEY_ID=AKIA... # AWS_SECRET_ACCESS_KEY=... # (Or use IAM role — no keys needed if running on EC2/ECS) # Option 3: Azure OpenAI (HIPAA compliant with BAA) # AI_PROVIDER=azure # AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com # AZURE_OPENAI_API_KEY=your-key # AZURE_DEPLOYMENT_NAME=gpt-4o-mini # AZURE_OPENAI_API_VERSION=2024-02-01 # ============================================================ # TRANSCRIPTION (speech-to-text) # ============================================================ # Option A: OpenAI Whisper (default if no AWS configured) OPENAI_API_KEY=sk-your-openai-key # Option B: Amazon Transcribe (HIPAA eligible, no S3 needed) # Uses same AWS credentials as Bedrock above. # Set TRANSCRIBE_PROVIDER=aws to force AWS even if OPENAI_API_KEY is set. # Leave unset to auto-detect (uses AWS when AWS_BEDROCK_REGION is configured). # TRANSCRIBE_PROVIDER=aws # Option C: Local Whisper (privacy-first, no cloud API needed) # Requires whisper.cpp or faster-whisper installed on the server. # TRANSCRIBE_PROVIDER=local # WHISPER_MODEL_SIZE=small # tiny, base, small, medium, large # WHISPER_BINARY=whisper-cpp # or: whisper, faster-whisper # WHISPER_MODEL_PATH= # custom path to .bin model file # WHISPER_LANGUAGE=en # WHISPER_THREADS=4 # defaults to CPU count - 1 # Amazon Transcribe Medical — better accuracy for clinical dictation # Knows drug names, diagnoses, procedures, SOAP terminology # HIPAA eligible (ensure your AWS account has a BAA) # AWS_TRANSCRIBE_MEDICAL=true # AWS_TRANSCRIBE_SPECIALTY=PRIMARYCARE # Other options: CARDIOLOGY, NEUROLOGY, ONCOLOGY, RADIOLOGY, UROLOGY # Optional ELEVENLABS_API_KEY= # App PORT=3000 APP_URL=https://your-domain.com JWT_SECRET=generate-a-random-64-char-string-here # Email (for verification & password reset) SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASS=your-app-password SMTP_FROM=noreply@yourdomain.com # Nextcloud (optional) NEXTCLOUD_URL=https://cloud.yourdomain.com # S3 Document Storage (optional — works with AWS S3, Backblaze B2, MinIO) # S3_BUCKET=your-bucket-name # S3_REGION=us-east-1 # S3_PREFIX=documents/ # # For AWS S3: uses same AWS credentials as Bedrock above, or set S3-specific keys: # S3_ACCESS_KEY_ID=... # S3_SECRET_ACCESS_KEY=... # # For Backblaze B2: # S3_ENDPOINT=https://s3.us-west-004.backblazeb2.com # S3_REGION=us-west-004 # S3_ACCESS_KEY_ID=your-b2-application-key-id # S3_SECRET_ACCESS_KEY=your-b2-application-key # # For MinIO (self-hosted): # S3_ENDPOINT=http://minio:9000 # S3_REGION=us-east-1 # S3_ACCESS_KEY_ID=minio-access-key # S3_SECRET_ACCESS_KEY=minio-secret-key # S3_FORCE_PATH_STYLE=true # ============================================================ # DATABASE # ============================================================ DATABASE_URL=postgresql://pedscribe:pedscribe_secret_change_me@postgres:5432/pedscribe DB_PASSWORD=pedscribe_secret_change_me