Speakr

Speakr

Docker app from learnedmachine's Repository

Overview

Speakr is a self-hosted AI transcription and intelligent note-taking platform. Transform your audio recordings into organized, searchable, and intelligent notes with speaker identification, AI chat, semantic search, and collaboration features.

Key Features:

  • AI-powered transcription with speaker identification
  • Voice profiles for automatic speaker recognition
  • Interactive chat with your recordings
  • Semantic search across all recordings (Inquire Mode)
  • Internal sharing and group collaboration
  • Smart tagging with custom AI prompts
  • Auto-deletion and retention policies
  • Automated export to Obsidian/Logseq
  • Full internationalization (EN, ES, FR, DE, ZH)
  • Light/dark themes with customizable colors

IMPORTANT: Requires API keys for OpenAI/OpenRouter or local AI services for transcription and text generation.

Requirements


Before starting, you MUST configure API keys:
1. Create a .env file or use environment variables
2. Set TEXT_MODEL_API_KEY (OpenRouter or OpenAI)
3. Set TRANSCRIPTION_API_KEY (OpenAI Whisper)
4. Set ADMIN_USERNAME and ADMIN_PASSWORD

See the GitHub documentation for complete setup instructions.

Runtime arguments

Web UI
http://[IP]:[PORT:8899]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUI PortPorttcp

Web interface port

Target
8899
Default
8899
Value
8899
Uploads VolumePathrw

Storage for uploaded audio files

Target
/data/uploads
Default
/mnt/user/appdata/speakr/uploads
Value
/mnt/user/appdata/speakr/uploads
Database VolumePathrw

Database and application state

Target
/data/instance
Default
/mnt/user/appdata/speakr/instance
Value
/mnt/user/appdata/speakr/instance
Exports VolumePathrw

Exported transcriptions (for Obsidian, etc.)

Target
/data/exports
Default
/mnt/user/appdata/speakr/exports
Value
/mnt/user/appdata/speakr/exports
Auto-Process VolumePathrw

Watch directory for automatic file processing

Target
/data/auto-process
Default
/mnt/user/appdata/speakr/auto-process
Value
/mnt/user/appdata/speakr/auto-process
Text Model API KeyVariable

API key for OpenRouter or OpenAI (required for summaries)

Target
TEXT_MODEL_API_KEY
Text Model Base URLVariable

API endpoint for text generation

Target
TEXT_MODEL_BASE_URL
Default
https://openrouter.ai/api/v1
Value
https://openrouter.ai/api/v1
Text Model NameVariable

Model name for text generation

Target
TEXT_MODEL_NAME
Default
openai/gpt-4o-mini
Value
openai/gpt-4o-mini
Transcription API KeyVariable

OpenAI API key for Whisper transcription (required)

Target
TRANSCRIPTION_API_KEY
Transcription Base URLVariable

Whisper API endpoint

Target
TRANSCRIPTION_BASE_URL
Default
https://api.openai.com/v1
Value
https://api.openai.com/v1
Whisper ModelVariable

Whisper model to use

Target
WHISPER_MODEL
Default
whisper-1
Value
whisper-1
Admin UsernameVariable

Initial admin username

Target
ADMIN_USERNAME
Default
admin
Value
admin
Admin EmailVariable

Initial admin email

Target
ADMIN_EMAIL
Default
admin@example.com
Value
admin@example.com
Admin PasswordVariable

Initial admin password (CHANGE THIS!)

Target
ADMIN_PASSWORD
Allow RegistrationVariable

Allow new user registration (true/false)

Target
ALLOW_REGISTRATION
Default
false
Value
false
TimezoneVariable

Timezone for date/time display (e.g., America/New_York)

Target
TIMEZONE
Default
UTC
Value
UTC
Log LevelVariable

Logging level: DEBUG, INFO, WARNING, ERROR

Target
LOG_LEVEL
Default
INFO
Value
INFO
Summary Max TokensVariable

Maximum tokens for AI summaries

Target
SUMMARY_MAX_TOKENS
Default
8000
Value
8000
Chat Max TokensVariable

Maximum tokens for chat responses

Target
CHAT_MAX_TOKENS
Default
5000
Value
5000
Enable ChunkingVariable

Split large files for API limits (true/false)

Target
ENABLE_CHUNKING
Default
true
Value
true
Chunk LimitVariable

Chunk size limit (e.g., 20MB or 1200s)

Target
CHUNK_LIMIT
Default
20MB
Value
20MB
Chunk Overlap SecondsVariable

Overlap between chunks in seconds

Target
CHUNK_OVERLAP_SECONDS
Default
3
Value
3
Enable Inquire ModeVariable

Enable AI-powered semantic search across recordings (true/false)

Target
ENABLE_INQUIRE_MODE
Default
false
Value
false
Enable Auto ProcessingVariable

Watch directory for automatic file processing (true/false)

Target
ENABLE_AUTO_PROCESSING
Default
false
Value
false
Auto Process ModeVariable

Processing mode: admin_only, user_directories, or single_user

Target
AUTO_PROCESS_MODE
Default
admin_only
Value
admin_only
Auto Process Check IntervalVariable

Check interval for new files (seconds)

Target
AUTO_PROCESS_CHECK_INTERVAL
Default
30
Value
30
Enable Auto ExportVariable

Automatically export transcriptions to markdown (true/false)

Target
ENABLE_AUTO_EXPORT
Default
false
Value
false
Auto Export TranscriptionVariable

Include transcription in exports (true/false)

Target
AUTO_EXPORT_TRANSCRIPTION
Default
true
Value
true
Auto Export SummaryVariable

Include summary in exports (true/false)

Target
AUTO_EXPORT_SUMMARY
Default
true
Value
true
Enable Auto DeletionVariable

Enable automatic deletion of old recordings (true/false)

Target
ENABLE_AUTO_DELETION
Default
false
Value
false
Global Retention DaysVariable

Days to retain recordings (0 = disabled)

Target
GLOBAL_RETENTION_DAYS
Default
90
Value
90
Deletion ModeVariable

Deletion mode: audio_only or full_recording

Target
DELETION_MODE
Default
audio_only
Value
audio_only
Users Can DeleteVariable

Allow users to delete their own recordings (true/false)

Target
USERS_CAN_DELETE
Default
true
Value
true
Enable Internal SharingVariable

Enable user-to-user sharing (true/false)

Target
ENABLE_INTERNAL_SHARING
Default
false
Value
false
Show Usernames in UIVariable

Display usernames in interface (true/false)

Target
SHOW_USERNAMES_IN_UI
Default
false
Value
false
Enable Public SharingVariable

Allow public share links (true/false)

Target
ENABLE_PUBLIC_SHARING
Default
true
Value
true
Database URIVariable

Database connection string

Target
SQLALCHEMY_DATABASE_URI
Default
sqlite:////data/instance/transcriptions.db
Value
sqlite:////data/instance/transcriptions.db

Download Statistics

106,388
Total Downloads
13,374
This Month
13,098
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
learnedmachine/speakr
Last Updated2026-03-19
First Seen2025-12-03

Run Speakr on Unraid.

Speakr is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.