Settings
All server configuration beyond the startup flags is managed through the admin web interface. Settings are stored in the database and take effect immediately without restarting the server. They can also be exported, edited, and imported as YAML; see Configuration.
The settings panel is available at Admin > Settings, organized into the pages below.
General
Section titled “General”| Setting | Description |
|---|---|
| Server name | Display name shown to users and apps. |
Base URL (base_url) | Your public HTTPS URL (e.g. https://odeion.example.com). Used by device linking and generated links. |
Device pairing codes (link_service_enabled) | Toggle the device linking system that lets apps connect by entering a code. |
Beta channel updates (beta_channel_updates) | Switch the update notice between stable and pre-release versions. |
| FFmpeg / FFprobe path | Binary locations. Auto-detected in most cases; the Docker image ships FFmpeg pre-installed. |
Transcode cache directory (transcode_cache_dir) | Scratch space for transcoder output. |
Metadata cache directory (metadata_cache_dir) | Cached metadata images and provider responses. |
Authentication
Section titled “Authentication”OAuth provider configuration for Google, Discord, and Apple sign-in, including a per-provider connectivity test. Covered in detail on OAuth and SSO Providers.
Metadata
Section titled “Metadata”Providers that fetch movie and TV information. Each can be enabled or disabled independently and scoped to media types (movies, series, anime). Provider credentials, including the OpenSubtitles API key, also live here.
| Provider | API key | Notes |
|---|---|---|
| Odeion Meta | Not required | Aggregated metadata from multiple sources. Enabled by default. |
| TMDB | Required (free) | Movies and TV series. |
| TheTVDB | Subscriber key required | TV series. |
| AniList | Not required | Anime-specific metadata (format, source, studios). |
| TVMaze | Not required | TV series. |
| OpenSubtitles | Required | Subtitle downloads. |
| IntroDB | Not required | Crowdsourced intro/outro skip timestamps. |
Subtitles
Section titled “Subtitles”Behavior settings for the subtitle system (provider credentials are on the Metadata page):
| Setting | Description |
|---|---|
subtitle_enabled | Master toggle for subtitle features. |
subtitle_auto_download | Automatically fetch subtitles for new media. |
subtitle_languages | Preferred languages, comma-separated codes (e.g. en,es). |
subtitle_allow_manual_search | Let users search and download subtitles on demand. |
subtitle_burn_in_default | Burn subtitles into the video stream by default when transcoding. |
subtitle_auto_extract | Extract embedded subtitle tracks during processing. |
See Subtitles for formats and player behavior.
Integrations
Section titled “Integrations”Sonarr and Radarr connections for the content request system. See Integrations.
Libraries
Section titled “Libraries”Library management, including per-library metadata matching options:
- NFO sidecars: when a
.nfofile sits alongside a media file, use it for matching and metadata, falling back to the online provider when absent. - PlexMatch sidecars: read
.plexmatchfiles for provider IDs. Useful for libraries migrated from Plex.
See Libraries.
Processing
Section titled “Processing”Background work configuration, in three groups plus fingerprint tuning:
| Group | Settings |
|---|---|
| Library scans | Scan workers (processing_scan_workers, default Auto: CPU/2 capped at 4) and scan batch size (processing_scan_batch_size, default Auto based on RAM). Increase for faster scans at the cost of CPU and IO. |
| Derived data | Toggles and parameters for seek previews, trickplay (trickplay_enabled, trickplay_interval, trickplay_width), and subtitle extraction (subtitle_extraction_enabled). |
| Task concurrency | Global cap (processing_global_concurrency) and per-type worker counts for probe, associate, media process, and segment analysis. |
Fingerprinting parameters control audio-based intro/outro detection, used when IntroDB has no match:
| Setting | Description |
|---|---|
fingerprint_intro_search_secs | How far into an episode to search for intros. |
fingerprint_outro_search_secs | How far from the end to search for credits. |
fingerprint_min_match_duration | Shortest segment in seconds to accept. |
fingerprint_min_episode_match | Fraction of a season’s episodes that must share a segment (e.g. 0.5 means half). Tighter avoids false positives; looser catches more intros. |
Defaults are set by the setup wizard based on your hardware. See Processing for what each pipeline stage does.
Transcoding
Section titled “Transcoding”Session limits (transcode_max_global_sessions, transcode_session_idle_timeout, transcode_max_cache_size) and transcoder pool management for GPU acceleration. See Transcoding.
Operations
Section titled “Operations”Telemetry collection and the kill switches. Documented on Telemetry and Kill Switches.
Maintenance
Section titled “Maintenance”One-click cleanup actions: clearing caches (including the subtitle cache), pruning library data, and refreshing metadata.
License
Section titled “License”Your license key and its status.