Skip to content

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.

The settings panel is available at Admin > Settings and is divided into the following sections.

Server base URL, device linking, and update channel.

  • Base URL: your public HTTPS URL (e.g. https://odeion.example.com). Used by the device link service and communicated to client apps.
  • Link service: toggle the device linking system that lets apps connect by entering a code.
  • Beta channel updates: opt in to receive notifications about pre-release versions.

Filesystem paths for external tools and cache directories.

  • FFmpeg / FFprobe: paths to the FFmpeg and FFprobe binaries. Auto-detected in most cases; the Docker image ships with FFmpeg pre-installed at the correct path.
  • Transcode cache: directory for temporary transcode output files.
  • Metadata cache: directory for cached metadata images and data.
  • Subtitle cache: directory for downloaded and extracted subtitle files.

Configuration for metadata providers that fetch movie and TV show information. Each provider can be enabled or disabled independently and scoped to specific media types (movies, series, anime).

  • Odeion Meta: aggregated metadata from multiple sources. Enabled by default, no API key required.
  • TMDB (The Movie Database): movies and TV series. Requires an API key (free at themoviedb.org).
  • TheTVDB: TV series data. Requires a subscriber API key.
  • AniList: anime-specific metadata (format, source, studios). No API key required.
  • TVMaze: TV series metadata. No API key required.

Subtitle provider credentials and behavior settings.

Providers: Currently supports OpenSubtitles (requires an API key from opensubtitles.com). Providers can be enabled or disabled individually.

Behavior settings control how subtitles are handled across the server:

  • Enabled: master toggle for the subtitle system.
  • Auto-download: automatically fetch subtitles for new media.
  • Languages: preferred subtitle languages (comma-separated codes, e.g. en,es).
  • Manual search: allow users to search for and download subtitles on demand.
  • Burn-in default: whether to burn subtitles into the video stream by default during transcoding.
  • Auto-extract: extract embedded subtitle tracks from media files during processing.
  • Storage mode: cache stores subtitles in the subtitle cache directory; media stores them alongside the media files.

See Subtitles for more details.

Sonarr and Radarr connection details for the content request system. See Integrations for setup instructions.

Controls for background processing, scanning, and content generation.

Scanning:

  • Scan workers: how many files are probed concurrently during a library scan.
  • Scan batch size: how many files are grouped into each scan batch.

Feature toggles:

  • Subtitle extraction: extract embedded subtitle tracks from media files during processing.
  • Trickplay generation: generate seek preview thumbnail strips for the video player. Configurable interval (seconds between frames) and width (pixel width of each thumbnail).

Concurrency:

  • Global concurrency: maximum total concurrent background tasks across all types.
  • Per-type workers: fine-grained control over concurrency for each task type: probe, associate, media extract, analyze segments, and trickplay.

These defaults are initially set by the setup wizard based on your hardware. Increasing them improves throughput at the cost of higher CPU and IO load.

Settings for handling NFO/XML metadata files found alongside media.

  • Enabled: toggle NFO file reading.
  • Priority: controls how NFO data interacts with online providers:
    • prefer_nfo: use NFO data first, fall back to remote providers for missing fields.
    • prefer_remote: use remote providers first, fill gaps from NFO files.
    • nfo_only: use only NFO data, never fetch from remote providers.

When enabled, Odeion reads .plexmatch files found alongside media to assist with metadata matching. This is useful for libraries migrated from Plex where .plexmatch files already contain accurate provider IDs.

Toggle the community intro/outro skip segment database. When enabled, Odeion queries a shared database of known intro and outro timestamps, allowing users to skip them automatically without relying solely on local fingerprint analysis.

Tuning parameters for audio fingerprint-based intro and outro detection. These control how Odeion analyzes episodes to find recurring segments (intros, outros, recaps).

  • Intro search seconds: how far into the episode to search for intro segments.
  • Outro search seconds: how far from the end to search for outro segments.
  • Minimum match duration: shortest segment (in seconds) to consider a valid match.
  • Minimum episode match: fraction of episodes in a season that must share a segment for it to be confirmed (e.g. 0.5 = at least half).

Controls for the built-in server metrics collection system.

Category toggles: enable or disable collection for each metric group independently:

  • System: CPU, memory, disk, and network metrics.
  • Process: Odeion process-level resource usage.
  • Application: request rates, transcoding sessions, task throughput.
  • Postgres: database query performance and connection pool stats.

Retention: configure how long metrics are kept at each aggregation tier:

  • Raw data (default: 6 hours)
  • 1-minute aggregates (default: 24 hours)
  • 1-hour aggregates (default: 90 days)
  • 1-day aggregates (default: 365 days)

Storage cap: maximum disk space for telemetry data in MB. Set to 0 for unlimited.

Feature toggles that disable specific server capabilities at runtime. Kill switches take effect immediately and do not require a restart.

SwitchEffect when enabled
PlaybackBlocks all media streaming
DownloadsPrevents transcode-for-download jobs
LoginBlocks new logins (existing sessions continue to work)
RegistrationBlocks new account creation, even with a valid invite code
Background tasksPauses the processing dispatcher (no new tasks start)
ScanningStops library scans from running