| Name | Shell Command | Environmental<br>Variable | Allowed Values | Default Value |
| :--- | :--- | :--- | :--- | :--- |
| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | Path to YAML config file | `config/config.yml` alongside<br>`plex_meta_manager.py` |
| [Time to Run](#time-to-run) | `-t` or `--time` | `PMM_TIME` | comma-separated list of times to update each day<br>**Format:** HH:MM | `03:00` |
| [Run](#run) | `-r` or `--run` | `PMM_RUN` | Run without the scheduler | `False` |
| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TEST` | Run in debug mode with only collections that have `test: true` | `False` |
| [Run Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | Process only collections during the run | `False` |
| [Run Libraries Only](#libraries-only) | `-lo` or `--libraries-only` | `PMM_LIBRARIES_ONLY` | Process everything but collections during the run | `False` |
| [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_COLLECTIONS` | comma-separated list of collection names to process | All Collections |
| [Run Libraries](#run-libraries) | `-rl` or `--run-libraries` | `PMM_LIBRARIES` | comma-separated list of library names to process | All libraries |
| [Run Libraries First](#run-libraries-first) | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` | Run library operations first before collections during the run | `False` |
| [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | Ignore all schedules during the run except for range schedules | `False` |
| [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | Delete all collections in a Library before a run | `False` |
| [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | Name of the Collection you want to resume the run at | ` ` |
| [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | Run without displaying the countdown | `False` |
| [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | Run without any of the missing movie/show functions | `False` |
| [Read Only Config](#read-only-config) | `-ro` or `--read-only-config` | `PMM_READ_ONLY_CONFIG` | Run without writing to the config | `False` |
| [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | Character that divides the sections | `=` |
| [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | Integer between 90 and 300 | `100` |
* Environmental Variable values are used over Shell Command values
### Config
To choose the location of the YAML config file use the `--config` option.
@ -44,4 +44,4 @@ To authenticate MyAnimeList the first time, you need run the container with the
#### OAuth Flow using unRAID Docker
Directions on how to authenticate MyAnimeList on unRAID can be found on the [unRAID Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/unRAID-Walkthrough#advanced-installation-authenticating-trakt-or-myanimelist) page.
Directions on how to authenticate MyAnimeList on unRAID can be found on the [unRAID Walkthrough](https://github.com/meisnate12/Plex-Meta-Manager/wiki/unRAID-Walkthrough#advanced-installation-authenticating-trakt-or-myanimelist) page.
A simple `Dockerfile` is available in this repo if you'd like to build it yourself. The official build is also available from dockerhub here: https://hub.docker.com/r/meisnate12/plex-meta-manager
```shell
docker run -it -v <PATH_TO_CONFIG>:/config:rw meisnate12/plex-meta-manager
```
* The `-it` allows you to interact with the script when needed.
* For example, it's required in order to go through the OAuth flow while connecting to Trakt or MyAnimeList.
* The `-v <PATH_TO_CONFIG>:/config:rw` mounts the location you choose as a persistent volume to store your files.
* Change `<PATH_TO_CONFIG>` to a folder where your config.yml and other files are.
* The docker image defaults to running the config named `config.yml` in your persistent volume.
* Use quotes around the whole thing if your path has spaces i.e. `-v "<PATH_TO_CONFIG>:/config:rw"`
Example
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager
```
### Docker Compose Example
```yaml
version: "2.1"
services:
plex-meta-manager:
image: meisnate12/plex-meta-manager
container_name: plex-meta-manager
environment:
- TZ=TIMEZONE #optional
volumes:
- /path/to/config:/config
restart: unless-stopped
```
## Run Commands & Environmental Variables
| Name | Shell Command | Environmental<br>Variable | Allowed Values | Default Value |
| :--- | :--- | :--- | :--- | :--- |
| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | Path to YAML config file | `config/config.yml` alongside<br>`plex_meta_manager.py` |
* `daily` is the default when `schedule` isn't specified.
* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Local Installation Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Installation#time-to-run).
* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Run Commands & Environmental Variables Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#time-to-run).
* You can have multiple scheduling options just make them a list or comma-separated values.
* You can use the `delete_not_scheduled` setting to delete Collections that are skipped due to not being scheduled.
@ -20,7 +20,7 @@ All the following attributes serve various functions as how the collection/playl
| Ignore IDs | `ignore_ids` | Collection/Playlist level `ignore_ids` which is combined with the library and global `ignore_ids`<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | List or comma-separated String of TMDb/TVDb IDs | :heavy_check_mark: |
| Ignore IMDb IDs | `ignore_imdb_ids` | Collection/Playlist level `ignore_imdb_ids` which is combined with the library and global `ignore_imdb_ids`<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | List or comma-separated String of IMDb IDs | :heavy_check_mark: |
| Name Mapping | `name_mapping` | Used to specify the folder name in the [Image Assets Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) | Folder Name In Assets Directory | :heavy_check_mark: |
| Test Mode | `test` | When running in Test Mode (`--run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Installation#run-tests)) only collections/playlists with `test: true` will be run<br>**Default:** `false` | **boolean:**`true` or `false` | :heavy_check_mark: |
| Test Mode | `test` | When running in Test Mode (`--run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#run-tests)) only collections/playlists with `test: true` will be run<br>**Default:** `false` | **boolean:**`true` or `false` | :heavy_check_mark: |
| Changes Webhooks | `changes_webhooks` | Used to specify a collection/playlist changes webhook for just this collection/playlist. | List of webhooks | :heavy_check_mark: |
* **Name Mapping:** If your collection/playlist name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*` cannot be in the file path), but you want them in your collection name you can use the `name_mapping` attribute to specific this collection's name in the file system.
@ -38,4 +38,4 @@ To authenticate Trakt the first time, you need run the container with the `-it`
#### OAuth Flow using unRAID Docker
Directions on how to authenticate Trakt on unRAID can be found on the [unRAID Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/unRAID-Walkthrough#advanced-installation-authenticating-trakt-or-myanimelist) page.
Directions on how to authenticate Trakt on unRAID can be found on the [unRAID Walkthrough](https://github.com/meisnate12/Plex-Meta-Manager/wiki/unRAID-Walkthrough#advanced-installation-authenticating-trakt-or-myanimelist) page.
@ -7,7 +7,7 @@ To install a container from docker hub, you will need community applications - a
2. Click the download icon on the `plex meta manager` container by `meisnate12`.
3. Create your [Docker values](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation) using `Add another Path, Port, Variable, Label or Device`. Example config:
3. Create your [Docker values](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables) using `Add another Path, Port, Variable, Label or Device`. Example config:
| Config Type | Name | Key | Value | Container Path | Host Path | Access Mode | Description |
* Full list of docker values can be found on the [Docker Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation) page
* If you wish to enable one-time [Run](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation), add `-r` to `Post Arguments` by enabling Advanced View in the top right of unRAID.
* Full list of docker values can be found on the [Run Commands & Environmental Variables Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables).
* If you wish to enable one-time [Run]([Run Commands & Environmental Variables Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#run)), add `-r` to `Post Arguments` by enabling Advanced View in the top right of unRAID.
* The Image below shows the above values in the unRAID WebUI.