Files
Sortarr/docs/configuration.md
2026-05-15 02:41:52 +00:00

3.0 KiB

Configuration

Configuration is layered in this order:

  1. backend/default-config/app.toml
  2. config/app.toml
  3. .env variables passed into Docker Compose

The backend deep-merges TOML files and then applies environment overrides for common deployment values.

Organizer Settings

[app]

  • dry_run: plan without moving files.
  • scan_interval_seconds: worker polling interval.
  • settle_seconds: minimum file age before processing.
  • stable_checks: number of matching size/mtime observations required before a file is considered stable.
  • incomplete_suffixes: suffixes ignored while downloads are still active.
  • media_extensions: media files eligible for organizing.
  • subtitle_extensions: subtitle files visible to the scanner.
  • extra_keywords: filename terms ignored by the organizer, such as samples and trailers.
  • library_scan_max_files: maximum files indexed by the manual library scan.
  • library_scan_timeout_seconds: timeout for the manual library scan.
  • cache_max_bytes: maximum server-side cache size. Defaults to 20GB.

[library]

  • movie_folder: destination folder template for movies.
  • series_folder: destination folder template for shows.
  • movie_file: Jellyfin-friendly movie filename template.
  • episode_file: Jellyfin-friendly episode filename template.
  • collision: keep-both, skip, or replace.
  • duplicate: reserved duplicate policy hook.
  • permissions_mode: final file mode after a move.
  • directory_mode: directory mode applied to created destination folders.

Drives

Each [[drives]] entry has:

  • id: stable machine name.
  • name: dashboard display name.
  • path: mounted drive path inside the container.
  • min_free_gb: minimum free space required before the drive is eligible.

Drive selection first checks whether the title already has a home under Movies or Shows. If not, it selects the eligible drive with the most free space.

Themes

Bundled presets live in web/src/themes.css. The current presets are:

slate, midnight, graphite, nord, dracula, solar, forest, marine, ember, paper.

Runtime custom CSS is loaded from /config/custom-theme.css when [theme].allow_custom_css is enabled. Override any token:

:root {
  --accent: #5cc8ff;
  --radius: 4px;
}

Release Providers

[[release_providers]] supports pluggable free sources:

  • type = "rss" for RSS/Atom-style feeds.
  • type = "json" for simple public JSON endpoints.

Provider code is isolated in backend/sortarr/releases.py so new adapters can be added without touching the UI.

TMDb Metadata

Set TMDB_API_KEY or TMDB_BEARER_TOKEN in .env to enrich manual library scans with TMDb posters, overviews, release dates, and TV season episode data. Without credentials, Sortarr still groups local media and shows placeholder covers.

Server Cache

Sortarr stores reusable TMDb and ffprobe results under /data/cache. The default cache cap is 20GB via [app].cache_max_bytes; older cache files are pruned when new cache entries are written.