# Run Commands & Environment Variables This table outlines the run commands and environment variables that can be utilized to customize the running of Plex Meta Manager to the user's requirements. Environment Variable values are used over Shell Command values. If you run into a race condition where you have set an Environment Variable within your system and also use a Shell Command for the same attribute, then the Environment Variable will take priority. These docs are assuming you have a basic understanding of Docker concepts. One place to get familiar with Docker would be the [official tutorial](https://www.docker.com/101-tutorial/). | Attribute | Shell Command | Environment Variable | |:------------------------------------------------------|:-----------------------------------|:-------------------------| | [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | | [Time to Run](#time-to-run) | `-t` or `--time` | `PMM_TIME` | | [Run](#run) | `-r` or `--run` | `PMM_RUN` | | [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TEST` | | [Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | | [Operations](#operations) | `-op` or `--operations` | `PMM_OPERATIONS` | | [Overlays](#overlays) | `-ov` or `--overlays` | `PMM_OVERLAYS` | | [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_COLLECTIONS` | | [Run Libraries](#run-libraries) | `-rl` or `--run-libraries` | `PMM_LIBRARIES` | | [Run Metadata Files](#run-metadata-files) | `-rm` or `--run-metadata-files` | `PMM_METADATA_FILES` | | [Libraries First](#libraries-first) | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` | | [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | | [Ignore Ghost](#ignore-ghost) | `-ig` or `--ignore-ghost` | `PMM_IGNORE_GHOST` | | [Cache Libraries](#cache-libraries) | `-ca` or `--cache-libraries` | `PMM_CACHE_LIBRARIES` | | [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | | [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | | [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | | [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | | [Read Only Config](#read-only-config) | `-ro` or `--read-only-config` | `PMM_READ_ONLY_CONFIG` | | [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | | [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | Further explanation and examples of each command can be found below. ## Run Command Attribute Examples Environment variables are expressed as `KEY=VALUE` Depending on the context where you are specifying them, you may enter those two things in two different fields, or some other way. The examples below show how you would specify the environment variable in a script or a `docker run` command. Things like Portainer or a NAS Docker UI will have different ways to specify these things. ### Config Specify the location of the configuration YAML file.
Shell Environment
Flags -c or --config PMM_CONFIG
Example --config /data/config.yml PMM_CONFIG=/data/config.yml
Default config/config.yml
Values Path to YAML config file
Local Environment ```shell python plex_meta_manager.py --config ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config ```
### Time to Run Specify the time of day that Plex Meta Manager will run.
Shell Environment
Flags -t or --time PMM_TIME
Example --time 06:00,18:00 PMM_TIME=06:00,18:00
Default Value 03:00
Available Values comma-separated list in HH:MM format
Local Environment ```shell python plex_meta_manager.py --time 22:00,03:00 ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --time 22:00,03:00 ```
### Run Perform a run immediately, bypassing the time to run flag.
Shell Environment
Flags -r or --run PMM_RUN
Example --run PMM_RUN=true
Local Environment ```shell python plex_meta_manager.py --run ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run ```
### Run Tests Run Plex Meta Manager in test/debug mode
Shell Environment
Flags -rt, --tests, or --run-tests PMM_TEST
Example --run-tests PMM_TEST=true
* Only collections with `test: true` enabled will be run
Local Environment ```shell python plex_meta_manager.py --run-tests ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-tests ```
### Collections Only Only run collection metadata/YAML files, skip library operations.
Shell Environment
Flags -co or --collections-only PMM_COLLECTIONS_ONLY
Example --collections-only PMM_COLLECTIONS_ONLY=true
Local Environment ```shell python plex_meta_manager.py --collections-only ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --collections-only ```
### Operations Only run library operations skipping collections and overlays.
Shell Environment
Flags -op or --operations PMM_OPERATIONS
Example --operations PMM_OPERATIONS=true
Local Environment ```shell python plex_meta_manager.py --operations ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --operations ```
### Overlays Only run library overlays skipping operations and collections.
Shell Environment
Flags -ov or --overlays PMM_OVERLAYS
Example --overlays PMM_OVERLAYS=true
Local Environment ```shell python plex_meta_manager.py --overlays ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --overlays ```
### Run Collections Run only the pre-defined collections
Shell Environment
Flags -rc or --run-collections PMM_COLLECTIONS
Example --run-collections "Harry Potter, Star Wars" PMM_COLLECTIONS=Harry Potter, Star Wars
Values Comma-separated list of Collection Names to run
Local Environment ```shell python plex_meta_manager.py --run-collections "Harry Potter, Star Wars" ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-collections "Harry Potter, Star Wars" ```
### Run Libraries Run only the pre-defined libraries
Shell Environment
Flags -rl or --run-libraries PMM_LIBRARIES
Example --run-libraries "Movies - 4K, TV Shows - 4K" PMM_LIBRARIES=Movies - 4K, TV Shows - 4K
Values Comma-separated list of Library Names to run
Local Environment ```shell python plex_meta_manager.py --run-libraries "TV Shows" ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-libraries "TV Shows" ```
### Run Metadata Files Run only the pre-defined metadata files
Shell Environment
Flags -rm or --run-metadata-files PMM_METADATA_FILES
Example --run-metadata-files "Movies.yml, MovieCharts" PMM_METADATA_FILES=Movies.yml, MovieCharts
Available Values Comma-separated list of Metadata Filenames to run
* This works for all different metadata paths i.e. `git`, `url`, `file`, or `repo`.
Local Environment ```shell python plex_meta_manager.py --run-metadata-files "Movies" ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-metadata-files "Movies" ```
### Libraries First Run library operations prior to running collections.
Shell Environment
Flags -lf or --libraries-first PMM_LIBRARIES_FIRST
Example --libraries-first PMM_LIBRARIES_FIRST=true
Local Environment ```shell python plex_meta_manager.py --libraries-first ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --libraries-first ```
### Ignore Schedules Ignore all schedules for the run.
Shell Environment
Flags -is or --ignore-schedules PMM_IGNORE_SCHEDULES
Example --ignore-schedules PMM_IGNORE_SCHEDULES=true
* Range Scheduled collections (such as Christmas movies) will still be ignored.
Local Environment ```shell python plex_meta_manager.py --ignore-schedules ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --ignore-schedules ```
### Ignore Ghost Ignore all ghost logging for the run. A ghost log is what's printed to the console to show progress during steps.
Shell Environment
Flags -ig or --ignore-ghost PMM_IGNORE_GHOST
Example --ignore-ghost PMM_IGNORE_GHOST=true
Local Environment ```shell python plex_meta_manager.py --ignore-ghost ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --ignore-ghost ```
### Cache Libraries Cache the library Load for 1 day.
Shell Environment
Flags -ca or --cache-libraries PMM_CACHE_LIBRARIES
Example --cache-libraries PMM_CACHE_LIBRARIES=true
Local Environment ```shell python plex_meta_manager.py --cache-libraries ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --cache-libraries ```
### Delete Collections Delete all collections in a Library prior to running collections/operations.
Shell Environment
Flags -dc or --delete-collections PMM_DELETE_COLLECTIONS
Example --delete-collections PMM_DELETE_COLLECTIONS=true
Local Environment ```shell python plex_meta_manager.py --delete-collections ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --delete-collections ```
### Resume Run Resume a run from a specific collection use the `--resume` option.
Shell Environment
Flags -re or --resume PMM_RESUME
Example --resume "Star Wars" PMM_RESUME=Star Wars
Available Values Name of collection to resume from
Local Environment ```shell python plex_meta_manager.py --resume "Star Wars" ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --resume "Star Wars" ```
### No Countdown Run without displaying a countdown to the next scheduled run.
Shell Environment
Flags -nc or --no-countdown PMM_NO_COUNTDOWN
Example --no-countdown PMM_NO_COUNTDOWN=true
Local Environment ```shell python plex_meta_manager.py --no-countdown ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --no-countdown ```
### No Missing Run without utilizing the missing movie/show functions.
Shell Environment
Flags -nm or --no-missing PMM_NO_MISSING
Example --no-missing PMM_NO_MISSING=true
Local Environment ```shell python plex_meta_manager.py --no-missing ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --no-missing ```
### Read Only Config Run without writing to the configuration file
Shell Environment
Flags -ro or --read-only-config PMM_READ_ONLY_CONFIG
Example --read-only-config PMM_READ_ONLY_CONFIG=true
Local Environment ```shell python plex_meta_manager.py --read-only-config ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --read-only-config ```
### Divider Character & Screen Width Change the terminal output divider character or width #### Divider Character
Shell Environment
Flags -d or --divider PMM_DIVIDER
Example --divider * PMM_DIVIDER=*
Default =
Values A character
#### Screen Width
Shell Environment
Flags -w or --width PMM_WIDTH
Example --width 150 PMM_WIDTH=150
Default Integer between 90 and 300
Values A character
Local Environment ```shell python plex_meta_manager.py --divider * --width 200 ```
Docker Environment ```shell docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --divider * --width 200 ```