# 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` |
| [Playlists Only](#playlists-only) | `-po` or `--playlists-only` | `PMM_PLAYLISTS_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, overlays, and collections/metadata.
|
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
```
### Playlists Only
Only run playlist metadata/YAML files, skip library operations, overlays, and collections/metadata.
|
Shell |
Environment |
Flags |
-po or --playlists-only |
PMM_PLAYLISTS_ONLY |
Example |
--playlists-only |
PMM_PLAYLISTS_ONLY=true |
Local Environment
```shell
python plex_meta_manager.py --playlists-only
```
Docker Environment
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --playlists-only
```
### Operations
Only run library operations skipping collections/metadata, playlists, 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 collections/metadata, playlists, and operations.
|
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
```