### Install MediaManager with Docker Source: https://maxdorninger.github.io/MediaManager/latest Quick start guide to download the docker-compose file, create a config directory, download an example configuration, and start MediaManager in detached mode. ```bash wget -O docker-compose.yaml https://github.com/maxdorninger/MediaManager/releases/latest/download/docker-compose.yaml mkdir config wget -O ./config/config.toml https://github.com/maxdorninger/MediaManager/releases/latest/download/config.example.toml # you probably need to edit the config.toml file in the ./config directory, for more help see the documentation docker compose up -d ``` -------------------------------- ### Prepare Configuration Directory and Example Config Source: https://maxdorninger.github.io/MediaManager/latest/installation/docker Create a 'config' directory and download the example configuration file 'config.example.toml' into it. ```bash mkdir config wget -O ./config/config.toml https://github.com/maxdorninger/MediaManager/releases/latest/download/config.example.toml ``` -------------------------------- ### Example Directory Structure for Import Source: https://maxdorninger.github.io/MediaManager/latest/importing-existing-media This example shows the required folder structure for MediaManager to import media. Folders must not start with a dot and media must be in the root tv/movie library. ```bash / └── data/ ├── tv/ │ ├── Rick and Morty # WILL be imported │ ├── Stranger Things (2016) {tvdb_12345} [x265] # WILL be imported │ ├── Breaking Bad (2008) [tmdbid-1396] # WILL be imported │ ├── .The Office (2013) # WILL NOT │ └── my-custom-library/ │ └── The Simpsons # WILL NOT be imported └── movie/ └── Oppenheimer (2023) # WILL be imported ``` -------------------------------- ### Install Frontend Dependencies and Run Dev Server Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Install all necessary Node.js packages for the frontend and start the development server. This enables Hot Module Replacement (HMR). ```bash npm install npm run dev ``` -------------------------------- ### MediaManager Docker Compose Quick Start Source: https://maxdorninger.github.io/MediaManager Download the docker-compose.yaml file and an example configuration file. Edit the config.toml file as needed, then start the MediaManager service in detached mode. ```bash wget -O docker-compose.yaml https://github.com/maxdorninger/MediaManager/releases/latest/download/docker-compose.yaml mkdir config wget -O ./config/config.toml https://github.com/maxdorninger/MediaManager/releases/latest/download/config.example.toml # you probably need to edit the config.toml file in the ./config directory, for more help see the documentation docker compose up -d ``` -------------------------------- ### Example Backend Configuration (config.toml) Source: https://maxdorninger.github.io/MediaManager/latest/configuration/backend This TOML snippet shows a complete example of the general settings section for the MediaManager backend. Ensure 'frontend_url' matches your deployment. ```toml [misc] # REQUIRED: Change this to match your actual frontend domain. frontend_url = "http://mediamanager.dev" cors_urls = ["http://localhost:8000"] # Optional: Development mode (set to true for debugging) development = false ``` -------------------------------- ### Start Development Services with Make Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Recommended command to start all development services using the make utility. This simplifies the process of bringing up the Dockerized environment. ```bash # Recommended: Use make commands for easy development make up ``` -------------------------------- ### Prepare Configuration Files Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Commands to create the configuration directory and copy example configuration files for backend and frontend development. ```bash mkdir -p res/config # Only needed on first run cp config.dev.toml res/config/config.toml cp web/.env.example web/.env ``` -------------------------------- ### Install Dependencies with uv Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Synchronize and install all project dependencies defined in the environment using uv. ```bash uv sync ``` -------------------------------- ### Example Database Configuration (config.toml) Source: https://maxdorninger.github.io/MediaManager/latest/configuration/database This TOML snippet shows a complete example of the database section for MediaManager's configuration file. It specifies connection details for a PostgreSQL database. ```toml [database] host = "db" port = 5432 user = "MediaManager" password = "your_secure_password" dbname = "MediaManager" ``` -------------------------------- ### Install Python with uv Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Install a specific Python version using uv. Ensure you have the desired version available. ```bash uv python install 3.13 ``` -------------------------------- ### Example Metadata Configuration Source: https://maxdorninger.github.io/MediaManager/latest/advanced-features/metadata-provider-configuration This TOML snippet shows a complete example of the metadata section in `config.toml`, including TMDB and TVDB relay URL configurations. ```toml [metadata] # TMDB configuration [metadata.tmdb] tmdb_relay_url = "https://metadata-relay.dorninger.co/tmdb" # TVDB configuration [metadata.tvdb] tvdb_relay_url = "https://metadata-relay.dorninger.co/tvdb" ``` -------------------------------- ### Start Development Services with Docker Compose Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Alternative command to start all development services directly using Docker Compose, useful if the make utility is not available. ```bash docker compose -f docker-compose.dev.yaml up ``` -------------------------------- ### Copy Frontend Environment File Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Copy the example environment file to create a new environment file for the frontend. Remember to update `PUBLIC_API_URL` if necessary. ```bash cp .env.example .env ``` -------------------------------- ### Install Node.js Version with nvm-windows Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Install and use a specific Node.js version using nvm-windows. This is useful for managing multiple Node.js environments. ```bash nvm install 24.1.0 nvm use 24.1.0 ``` -------------------------------- ### Verify uv Installation Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Check if uv is installed correctly by running this command in your terminal. ```bash uv --version ``` -------------------------------- ### Example config.toml for Download Clients Source: https://maxdorninger.github.io/MediaManager/latest/configuration/download-clients This TOML configuration shows how to set up qBittorrent, Transmission, and SABnzbd integrations within the `[torrents]` section. Ensure only one BitTorrent and one Usenet client are enabled at a time. ```toml [torrents] # qBittorrent configuration [torrents.qbittorrent] enabled = true host = "http://qbittorrent" port = 8080 username = "admin" password = "your_secure_password" # Transmission configuration [torrents.transmission] enabled = false username = "admin" password = "your_secure_password" https_enabled = true host = "transmission" port = 9091 path = "/transmission/rpc" # SABnzbd configuration [torrents.sabnzbd] enabled = false host = "http://sabnzbd" port = 8080 api_key = "your_sabnzbd_api_key" ``` -------------------------------- ### Example MediaManager Indexer Configuration Source: https://maxdorninger.github.io/MediaManager/latest/configuration/indexers This TOML configuration shows how to set up both Prowlarr and Jackett indexers. Ensure your API keys and URLs are correct for your instances. ```toml [indexers] [indexers.prowlarr] enabled = true url = "http://prowlarr:9696" api_key = "your_prowlarr_api_key" timeout_seconds = 60 [indexers.jackett] enabled = false url = "http://jackett:9117" api_key = "your_jackett_api_key" indexers = ["1337x", "rarbg"] timeout_seconds = 60 ``` -------------------------------- ### Complete Notifications Configuration Example Source: https://maxdorninger.github.io/MediaManager/latest/configuration/notifications This TOML configuration shows how to set up multiple notification methods simultaneously, including SMTP for emails, and specific settings for Gotify, Ntfy, and Pushover. ```toml [notifications] # SMTP settings for email notifications and password resets [notifications.smtp_config] smtp_host = "smtp.gmail.com" smtp_port = 587 smtp_user = "your-email@gmail.com" smtp_password = "your-app-password" from_email = "mediamanager@example.com" use_tls = true # Email notification settings [notifications.email_notifications] enabled = true emails = ["admin@example.com", "notifications@example.com"] # Gotify notification settings [notifications.gotify] enabled = true api_key = "your_gotify_api_key" url = "https://gotify.example.com" # Ntfy notification settings [notifications.ntfy] enabled = false url = "https://ntfy.sh/your-private-topic" # Pushover notification settings [notifications.pushover] enabled = false api_key = "your_pushover_api_key" user = "your_pushover_user_key" ``` -------------------------------- ### Complete Authentication Configuration Example Source: https://maxdorninger.github.io/MediaManager/latest/configuration/authentication This TOML configuration demonstrates how to set up both general authentication parameters and OpenID Connect integration. It includes a token secret, session lifetime, admin emails, and OIDC provider details. ```toml [auth] token_secret = "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6" session_lifetime = 604800 # 1 week admin_emails = ["admin@example.com", "manager@example.com"] email_password_resets = true [auth.openid_connect] enabled = true client_id = "mediamanager-client" client_secret = "your-secret-key-here" configuration_endpoint = "https://auth.example.com/.well-known/openid-configuration" name = "Authentik" ``` -------------------------------- ### Start MediaManager with Docker Compose Source: https://maxdorninger.github.io/MediaManager/latest/installation/docker This command brings up the MediaManager Docker stack in detached mode. ```bash docker compose up -d ``` -------------------------------- ### Minimal Complete Flake Configuration for MediaManager Source: https://maxdorninger.github.io/MediaManager/latest/installation/flakes A minimal, complete Nix flake configuration for a MediaManager setup, including enabling the service, PostgreSQL, setting a custom port, data directory, and frontend URL. ```nix { description = "An example NixOS configuration"; inputs = { nixpkgs = { url = "github:nixos/nixpkgs/nixos-unstable"; }; mediamanager-nix = { url = "github:strangeglyph/mediamanager-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ ... }: { nixpkgs, mediamanager-nix, ... }: { nixosConfigurations.your-system = nixpkgs.lib.nixosSystem { imports = [ mediamanager-nix.nixosModules.default ]; config = { services.media-manager = { enable = true; postgres.enable = true; port = 12345; dataDir = "/tmp"; settings = { misc.frontend_url = "http://[::1]:12345"; }; }; systemd.tmpfiles.settings."10-mediamanager" = { "/tmp/movies".d = { user = config.services.media-manager.user; }; "/tmp/shows".d = { user = config.services.media-manager.user; }; "/tmp/images".d = { user = config.services.media-manager.user; }; "/tmp/torrents".d = { user = config.services.media-manager.user; }; }; }; }; }; } ``` -------------------------------- ### Example MediaManager URL for Redirect URI Source: https://maxdorninger.github.io/MediaManager/latest/configuration/authentication This is the expected format for the redirect URI when configuring an OpenID Connect provider. Ensure this matches your MediaManager deployment URL. ```text {MEDIAMANAGER_URL}/api/v1/auth/oauth/callback ``` -------------------------------- ### Run Backend in Development Mode Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Start the FastAPI backend server in development mode with automatic reloading enabled. Changes to Python files will trigger a server restart. ```bash uv run fastapi run media_manager/main.py --reload --port 8000 ``` -------------------------------- ### Example Timeout Log for Prowlarr Source: https://maxdorninger.github.io/MediaManager/latest/configuration/indexers This log indicates a read timeout error when MediaManager attempts to connect to an indexer. Increase the `timeout_seconds` setting if you encounter this. ```log DEBUG - media_manager.indexer.utils - follow_redirects_to_final_torrent_url(): An error occurred during the request for : HTTPConnectionPool(host='', port=): Read timed out. (read timeout=10) ``` -------------------------------- ### Set Auth Token Secret in TOML Source: https://maxdorninger.github.io/MediaManager/latest/configuration Example of setting the `token_secret` for authentication in the `config.toml` file. ```toml [auth] token_secret = "your_super_secret_key_here" ``` -------------------------------- ### Directory Structure After Importing Media Source: https://maxdorninger.github.io/MediaManager/latest/importing-existing-media This example illustrates how MediaManager renames imported folders by prefixing them with a dot. New imported media will be placed alongside the renamed original folders. ```bash / └── data/ ├── tv/ │ ├── .Rick and Morty # RENAMED │ ├── Rick and Morty (2013) [tmdbid-60625] # IMPORTED │ ├── .Stranger Things (2016) {tvdb_12345} # RENAMED │ ├── Stranger Things (2016) [tmdbid-66732] # IMPORTED │ ├── .The Office (2013) # IGNORED │ ├── .Breaking Bad (2008) [tmdbid-1396] # RENAMED │ ├── Breaking Bad (2008) [tmdbid-1396] # IMPORTED │ └── my-custom-library/ │ └── The Simpsons # IGNORED └── movie/ ├── .Oppenheimer (2023) # RENAMED └── Oppenheimer (2023) [tmdbid-872585] # IMPORTED ``` -------------------------------- ### Configure Custom TV Show Libraries Source: https://maxdorninger.github.io/MediaManager/latest/configuration/custom-libraries Add custom TV show libraries by defining `[[misc.tv_libraries]]` sections. Each library requires a unique `name` and the `path` to the TV show directory. ```toml [misc] # ... other misc settings [[misc.tv_libraries]] name = "Live Action" path = "/data/tv/live-action" [[misc.tv_libraries]] name = "Animation" path = "/data/tv/animation" ``` -------------------------------- ### View All Development Logs Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Display all available development commands, including logging options. ```bash make logs ``` -------------------------------- ### Configure Custom Movie Libraries Source: https://maxdorninger.github.io/MediaManager/latest/configuration/custom-libraries Add custom movie libraries by defining `[[misc.movie_libraries]]` sections. Each library requires a unique `name` and the `path` to the movie directory. ```toml [misc] # ... other misc settings [[misc.movie_libraries]] name = "Action" path = "/data/movies/action" [[misc.movie_libraries]] name = "Comedy" path = "/data/movies/comedy" ``` -------------------------------- ### Docker Compose for Download Clients Source: https://maxdorninger.github.io/MediaManager/latest/configuration/download-clients This Docker Compose configuration demonstrates how to set up MediaManager alongside qBittorrent and SABnzbd services. Ensure that the download client services are accessible from the MediaManager backend and that download directories are correctly mapped and accessible. ```yaml services: # MediaManager backend backend: image: ghcr.io/maxdorninger/mediamanager/backend:latest # ... other configuration ... # qBittorrent service qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest ports: - "8080:8080" environment: - WEBUI_PORT=8080 volumes: - ./data/torrents:/downloads # ... other configuration ... # SABnzbd service sabnzbd: image: lscr.io/linuxserver/sabnzbd:latest ports: - "8081:8080" volumes: - ./data/usenet:/downloads # ... other configuration ... ``` -------------------------------- ### Importing the Community MediaManager Flake Source: https://maxdorninger.github.io/MediaManager/latest/installation/flakes Import the community-provided MediaManager flake into your NixOS configuration. This sets up the necessary inputs for Nix to manage MediaManager. ```nix { description = "An example NixOS configuration"; inputs = { nixpkgs = { url = "github:nixos/nixpkgs/nixos-unstable"; }; mediamanager-nix = { url = "github:strangeglyph/mediamanager-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ ... }: { nixpkgs, mediamanager-nix, ... }: { nixosConfigurations.your-system = nixpkgs.lib.nixosSystem { modules = [ mediamanager-nix.nixosModules.default ]; }; }; } ``` -------------------------------- ### Follow Backend Logs Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide View and follow the logs for the backend service in real-time. Useful for debugging. ```bash make logs ARGS="--follow mediamanager" ``` ```bash docker compose -f docker-compose.dev.yaml logs -f mediamanager ``` -------------------------------- ### Follow All Logs in Real-time Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Stream logs from all services in real-time. Useful for monitoring the entire application during development. ```bash make logs ARGS="--follow" ``` -------------------------------- ### Create Virtual Environment with uv Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Create a new virtual environment using uv, specifying the Python interpreter version. ```bash uv venv --python 3.13 ``` -------------------------------- ### Build Docker Image with Base Path Source: https://maxdorninger.github.io/MediaManager/latest/advanced-features/url-prefix Build the Docker image for MediaManager with a custom base path argument. This argument is used by SvelteKit to determine the application's base URL at build time. ```bash docker build \ --build-arg BASE_PATH=/media \ --build-arg VERSION=my-custom-version \ -t MediaManager:my-custom-version \ -f Dockerfile . ``` -------------------------------- ### Enabling the MediaManager Service Source: https://maxdorninger.github.io/MediaManager/latest/installation/flakes Enable the MediaManager systemd service by setting the `enable` option to `true` in your NixOS configuration. ```nix { config = { services.media-manager = { enable = true; }; }; } ``` -------------------------------- ### Enable Following Symlinks for Frontend Files Source: https://maxdorninger.github.io/MediaManager/latest/advanced-features/follow-symlinks-in-frontend-files Set the FRONTEND_FOLLOW_SYMLINKS environment variable to 'true' to enable this functionality. The default value is 'false'. ```env FRONTEND_FOLLOW_SYMLINKS=true ``` -------------------------------- ### Complete Development Environment Reset Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Perform a full reset of the development environment by stopping containers, removing volumes, rebuilding images without cache, and restarting services. ```bash make down docker compose -f docker-compose.dev.yaml down -v ``` ```bash docker compose -f docker-compose.dev.yaml build --no-cache ``` ```bash make up ``` -------------------------------- ### Download Docker Compose File Source: https://maxdorninger.github.io/MediaManager/latest/installation/docker Use this command to download the latest docker-compose.yaml file from the MediaManager GitHub releases. ```bash wget -O docker-compose.yaml https://github.com/maxdorninger/MediaManager/releases/latest/download/docker-compose.yaml ``` -------------------------------- ### Format Frontend Code Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Format the frontend codebase using the defined npm script. This ensures consistent code style. ```bash npm run format ``` -------------------------------- ### Create New Database Migration Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Generate a new database migration script based on current schema changes. Provide a descriptive message for the migration. ```bash make app uv run alembic revision --autogenerate -m "description" ``` -------------------------------- ### Set Auth Token Secret via Environment Variable Source: https://maxdorninger.github.io/MediaManager/latest/configuration Demonstrates how to set the `token_secret` for authentication using an environment variable. ```bash MEDIAMANAGER_AUTH__TOKEN_SECRET = "your_super_secret_key_here" ``` -------------------------------- ### Run Database Migrations Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Apply the latest database migrations using Alembic. This command ensures your database schema is up-to-date. ```bash uv run alembic upgrade head ``` -------------------------------- ### Mounting Configuration Directory Source: https://maxdorninger.github.io/MediaManager/latest/configuration Specifies the directory to mount for the configuration file. MediaManager may need a restart for changes to take effect. ```yaml volumes: - ./config:/app/config ``` -------------------------------- ### Run Database Migrations Manually Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Execute database migrations manually within the backend container. This is an alternative to automatic migration on startup. ```bash make app uv run alembic upgrade head ``` -------------------------------- ### Format Code with Ruff Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Format all Python code in the current directory and its subdirectories according to Ruff's formatting standards. ```bash ruff format . ``` -------------------------------- ### Lint Frontend Code Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Run the linter for the frontend project to catch errors and style issues. ```bash npm run lint ``` -------------------------------- ### Set OIDC Client Secret via Environment Variable Source: https://maxdorninger.github.io/MediaManager/latest/configuration Illustrates setting the OIDC client secret using a prefixed environment variable. ```bash MEDIAMANAGER_AUTH__OPENID_CONNECT__CLIENT_SECRET = "your_client_secret_from_provider" ``` -------------------------------- ### Check Port Usage (macOS/Linux) Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Use `lsof` to check if a specific port is already in use on macOS or Linux systems. ```bash lsof -i :5173 ``` -------------------------------- ### Check Port Usage (Windows) Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Use `netstat` to check if a specific port is already in use on Windows systems. ```bash netstat -ano | findstr :5173 ``` -------------------------------- ### Shell into Frontend Container Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Access the frontend container's shell to run commands directly within the container environment. ```bash make frontend ``` ```bash docker compose -f docker-compose.dev.yaml exec -it frontend sh ``` -------------------------------- ### Rebuild Backend Docker Image Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Rebuild the backend Docker image without using the cache. This is necessary if dependencies have changed. ```bash docker compose -f docker-compose.dev.yaml build mediamanager ``` -------------------------------- ### Set OIDC Client Secret in TOML Source: https://maxdorninger.github.io/MediaManager/latest/configuration Shows how to configure the OIDC client secret within the `config.toml` file. ```toml [auth] ... [auth.openid_connect] client_secret = "your_client_secret_from_provider" ``` -------------------------------- ### Define Scoring Rule Sets Source: https://maxdorninger.github.io/MediaManager/latest/configuration/scoring-rulesets Assign specific scoring rules to libraries. Use special library names like 'ALL_TV' or 'ALL_MOVIES' for broad application. ```toml [[indexers.scoring_rule_sets]] name = "default" libraries = ["ALL_TV", "ALL_MOVIES"] rule_names = ["prefer_h265", "avoid_cam", "reject_nuked"] [[indexers.scoring_rule_sets]] name = "strict_quality" libraries = ["ALL_MOVIES"] rule_names = ["prefer_h265", "avoid_cam", "reject_non_freeleech"] ``` -------------------------------- ### Shell into Backend Container Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Access the backend container's shell to run commands directly within the container environment. ```bash make app ``` ```bash docker compose -f docker-compose.dev.yaml exec -it mediamanager bash ``` -------------------------------- ### Restart Frontend Container Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Restart the frontend Docker container. This can resolve issues where frontend changes are not updating. ```bash docker compose -f docker-compose.dev.yaml restart frontend ``` -------------------------------- ### Lint Code with Ruff Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Check the codebase for linting errors and style issues using Ruff. This helps maintain code quality and consistency. ```bash ruff check . ``` -------------------------------- ### Fix Volume Permission Issues (Linux) Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide Change ownership of the 'res' directory to the current user to resolve potential permission issues with Docker volumes on Linux. ```bash sudo chown -R $USER:$USER res/ ``` -------------------------------- ### Set BASE_PATH Environment Variable in docker-compose.yaml Source: https://maxdorninger.github.io/MediaManager/latest/advanced-features/url-prefix Configure the `BASE_PATH` environment variable in your `docker-compose.yaml` file to match the build argument. This ensures MediaManager is served under the specified path. ```yaml services: mediamanager: image: MediaManager:my-custom-version ports: - "8000:8000" environment: BASE_PATH: /media ... ``` -------------------------------- ### Define Indexer Flag Scoring Rules Source: https://maxdorninger.github.io/MediaManager/latest/configuration/scoring-rulesets Configure rules to adjust scores based on indexer flags. Use 'score_modifier' to add or subtract points. Set 'negate' to true to apply the modifier when flags are absent. ```toml [[indexers.indexer_flag_scoring_rules]] name = "reject_non_freeleech" flags = ["freeleech", "freeleech75"] score_modifier = -10000 negate = true [[indexers.indexer_flag_scoring_rules]] name = "reject_nuked" flags = ["nuked"] score_modifier = -10000 negate = false ``` -------------------------------- ### Define Title Scoring Rules Source: https://maxdorninger.github.io/MediaManager/latest/configuration/scoring-rulesets Configure rules to adjust scores based on keywords in release titles. Use 'score_modifier' to add or subtract points. Set 'negate' to true to apply the modifier when keywords are absent. ```toml [[indexers.title_scoring_rules]] name = "prefer_h265" keywords = ["h265", "hevc", "x265"] score_modifier = 100 negate = false [[indexers.title_scoring_rules]] name = "avoid_cam" keywords = ["cam", "ts"] score_modifier = -10000 negate = false ``` -------------------------------- ### Set PowerShell Execution Policy Source: https://maxdorninger.github.io/MediaManager/latest/contributing-to-mediamanager/developer-guide If using PowerShell, you might need to adjust the execution policy to allow scripts to run. This command sets it for the current user. ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.