pediatric-ai-scribe-v3/docs/configuration.md
Daniel b97c5f146b v6.1: Turnstile bot protection, LiteLLM provider, PPTX tables, audio backup fixes, docs
- Add Cloudflare Turnstile to login, register, and password reset forms
- Switch AI provider to LiteLLM, transcription to OpenAI Whisper
- Change domain to scribe.pedshub.com
- Fix PPTX export: add tables, bold/italic, numbered lists, code blocks, blockquotes
- Fix announcement banner close button (CSP was blocking inline onclick)
- Fix auth middleware: empty Bearer token now falls through to cookie auth
- Fix audio backups: only save on transcription failure, stop auto-deleting on success
- Soften AI correction injection to prevent model hallucination from correction history
- Fix LiteLLM TTS model name handling (no incorrect openai/ prefix)
- Expand AI instructions textarea in Learning Hub CMS
- Update README for v6 with all features and providers
- Add comprehensive docs/: architecture, API reference, database schema,
  authentication, AI providers, speech, learning hub, configuration, deployment
2026-04-04 22:56:24 +02:00

8 KiB

Configuration

This document covers all configuration options for the Pediatric AI Scribe, including environment variables, database-backed settings, and the admin panel.


Environment Variables

Environment variables are set in the .env file or passed to the Docker container. They are read at startup.

AI Provider

Variable Description
AI_PROVIDER AI backend: openrouter, bedrock, azure, vertex, or litellm.
OPENROUTER_API_KEY API key for OpenRouter.
AWS_BEDROCK_REGION AWS region for Bedrock (e.g., us-east-1).
AWS_ACCESS_KEY_ID AWS access key (shared by Bedrock and Transcribe).
AWS_SECRET_ACCESS_KEY AWS secret key (shared by Bedrock and Transcribe).
AZURE_OPENAI_ENDPOINT Azure OpenAI resource endpoint URL.
AZURE_OPENAI_API_KEY Azure OpenAI API key.
AZURE_DEPLOYMENT_NAME Azure OpenAI deployment/model name.
AZURE_OPENAI_API_VERSION Azure OpenAI API version string.
GOOGLE_VERTEX_PROJECT Google Cloud project ID for Vertex AI.
GOOGLE_VERTEX_LOCATION Google Cloud region for Vertex AI (e.g., us-central1).
GOOGLE_APPLICATION_CREDENTIALS Path to the Google service account JSON key file.
LITELLM_API_BASE Base URL of the LiteLLM proxy server.
LITELLM_API_KEY API key for LiteLLM proxy authentication.

Transcription (Speech-to-Text)

Variable Description
TRANSCRIBE_PROVIDER STT backend: google, aws, local, openai, or litellm. Auto-detects if unset (google > aws > openai).
OPENAI_API_KEY API key for OpenAI Whisper.
GOOGLE_STT_MODEL Google Gemini model for transcription (default: gemini-2.0-flash).
AWS_TRANSCRIBE_MEDICAL Enable Amazon Transcribe Medical mode (true/false).
AWS_TRANSCRIBE_SPECIALTY Medical specialty: PRIMARYCARE, CARDIOLOGY, NEUROLOGY, ONCOLOGY, RADIOLOGY, UROLOGY.
WHISPER_BINARY Path to the local whisper binary (whisper.cpp or faster-whisper).
WHISPER_MODEL_SIZE Local Whisper model size: tiny, base, small, medium, large.
WHISPER_MODEL_PATH Path to the local Whisper model file.
WHISPER_LANGUAGE Language code for local Whisper (e.g., en).
WHISPER_THREADS Number of CPU threads for local Whisper.
LITELLM_STT_MODEL Model name for LiteLLM-routed transcription.

Text-to-Speech

Variable Description
GOOGLE_TTS_VOICE Google Cloud TTS voice name (e.g., en-US-Journey-F).
ELEVENLABS_API_KEY API key for ElevenLabs TTS.
LITELLM_TTS_MODEL Model name for LiteLLM-routed TTS.
LITELLM_TTS_VOICE Voice name for LiteLLM-routed TTS.

Embeddings

Variable Description
EMBEDDING_MODEL Embedding model name (default: Vertex AI text-embedding-005).
EMBEDDING_DIMENSIONS Embedding vector dimensions (default: 768).

Application

Variable Description
PORT HTTP listen port (default: 3000).
APP_URL Public-facing base URL of the application.
JWT_SECRET Secret key for signing JWT tokens.
SESSION_SECRET Secret key for session cookies.
DATABASE_URL Full PostgreSQL connection string.
DB_PASSWORD Database password (used if DATABASE_URL is not set).

Email (SMTP)

Variable Description
SMTP_HOST SMTP server hostname.
SMTP_PORT SMTP server port.
SMTP_USER SMTP authentication username.
SMTP_PASS SMTP authentication password.
SMTP_FROM Sender address for outgoing emails.

Security

Variable Description
TURNSTILE_SITE_KEY Cloudflare Turnstile site key for bot protection.
TURNSTILE_SECRET_KEY Cloudflare Turnstile server-side secret key.

Integrations

Variable Description
NEXTCLOUD_URL Nextcloud instance URL for WebDAV file access.
S3_BUCKET S3 bucket name for file storage.
S3_REGION S3 bucket region.
S3_PREFIX Key prefix (folder) within the S3 bucket.
S3_ENDPOINT Custom S3 endpoint URL (for S3-compatible storage like MinIO).
S3_ACCESS_KEY_ID S3 access key.
S3_SECRET_ACCESS_KEY S3 secret key.
S3_FORCE_PATH_STYLE Use path-style S3 URLs instead of virtual-hosted (true/false). Required for most S3-compatible providers.

Database-Backed Settings

Runtime settings are stored in the app_settings table and can be modified through the admin panel without restarting the application.

Caching

Settings are cached in memory for 2 minutes. The cache is invalidated immediately on write, so changes made through the admin panel take effect right away.

Setting Keys

Registration and Site

Key Description
registration_enabled Allow new user registration (true/false).
site.name Display name of the application.
site.auto_delete_days Number of days after which encounter data is automatically deleted.

Announcements

Key Description
announcement.text Banner message text displayed to all users.
announcement.type Banner style: info, warning, error, or success.

Feature Flags

Key Pattern Description
feature.* Toggle individual features on or off.

SMTP (Overrides Environment)

Key Pattern Description
smtp.host, smtp.port, smtp.user, smtp.pass, smtp.from SMTP configuration. Overrides the corresponding environment variables when set.

Email Templates

Key Pattern Description
email.*.subject Email subject line template.
email.*.body Email body template.

OIDC / SSO

Key Description
oidc.enabled Enable OpenID Connect authentication (true/false).
oidc.issuer OIDC provider issuer URL.
oidc.clientId OIDC client ID.
oidc.clientSecret OIDC client secret.
oidc.buttonLabel Label for the SSO login button.
oidc.disableLocalAuth Hide the local login form when SSO is enabled.

AI and Model Configuration

Key Description
stt.model Default speech-to-text model.
tts.model Default text-to-speech model.
tts.voice Default text-to-speech voice.
models.default Default AI model for note generation.
prompt.* AI prompt overrides. Each key corresponds to a specific prompt template.
embeddings.* Embedding model and dimension configuration.

Admin Panel Settings

The admin panel provides a web interface for managing the application without editing configuration files.

User Management

  • List all registered users.
  • Verify unverified accounts.
  • Disable or re-enable user accounts.
  • View per-user usage statistics.

Registration

  • Enable or disable new user registration globally.

Announcement Banner

  • Set banner text displayed at the top of the application.
  • Choose banner type: info, warning, error, or success.

SMTP Configuration

  • Configure SMTP settings through the UI.
  • These settings override the corresponding .env values when set.

OIDC / SSO Configuration

  • Enable or disable OpenID Connect authentication.
  • Configure issuer URL, client ID, client secret, and button label.
  • Option to disable local authentication entirely when SSO is active.

AI Prompts

  • View the default prompt templates used for note generation.
  • Override any prompt with custom text.
  • Reset overridden prompts back to their defaults.

Model Management

  • Enable or disable available AI models.
  • Set the default model for new users.
  • Add custom models with cost and category metadata.

TTS and STT Configuration

  • Test TTS and STT providers from the admin panel.
  • Configure default TTS voice and STT model for all users.