You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
6.5 KiB
146 lines
6.5 KiB
3 years ago
|
# Installing Plex Meta Manager
|
||
|
|
||
2 years ago
|
Generally, Plex Meta Manager can be installed in one of two ways:
|
||
3 years ago
|
|
||
|
1. Running on a system as a Python script [we will refer to this as a "local" install]
|
||
|
2. Running as a Docker container
|
||
|
|
||
|
GENERALLY SPEAKING, running as a Docker container is simpler, as you won't have to be concerned about installing Python, or support libraries, or any possible system conflicts generated by those actions.
|
||
|
|
||
|
For this reason, it's generally recommended that you install via Docker rather than directly on the host.
|
||
|
|
||
|
If you have some specific reason to avoid Docker, or you prefer running it as a Python script for some particular reason, then this general recommendation is not aimed at you. It's aimed at someone who doesn't have an existing compelling reason to choose one over the other.
|
||
|
|
||
1 year ago
|
## Where to install Plex Meta Manager
|
||
|
|
||
|
Plex Meta Manager communicates with all services [Plex, Radarr, Trakt, etc] via their network APIs, so Plex Meta Manager does *not* have to be installed on the samne machine as Plex. Plex Meta Manager does not require [nor would it use] access to the filesystem behind your Plex libraries.
|
||
|
|
||
|
Perhaps your Plex server is remote and you want to run Plex Meta Manager on a machine in your home. That's fine. The relative locations of Plex Meta Manager and Plex have no effect on the installation [except perhaps the URL you would use in the config].
|
||
|
|
||
3 years ago
|
## Install Walkthroughs
|
||
|
|
||
3 years ago
|
The installation overviews on this page are aimed at users who have previous experience of installing services via command-line terminal commands.
|
||
|
|
||
|
For those who need full installation walkthroughs, please refer to the following walkthrough guides:
|
||
3 years ago
|
|
||
12 months ago
|
* [Local Walkthrough](local.md) - follow this if you are running the script directly on Windows, OS X, or Linux
|
||
|
* [Docker Walkthrough](docker.md) - this discusses using Docker at the command line
|
||
3 years ago
|
|
||
1 year ago
|
If you are using unRAID, Kubernetes, QNAP, or Synology refer to the following basic guide to Docker container setup for each system:
|
||
1 year ago
|
|
||
12 months ago
|
**this doesn't cover the PMM setup specifics found in the guides above with regard to creating the config file and collection file, so you may want to go through the [Docker Walkthrough](docker.md) first on your computer to gain that understanding.**
|
||
3 years ago
|
|
||
12 months ago
|
* [unRAID Walkthrough](unraid.md)
|
||
|
* [Kubernetes Walkthrough](kubernetes.md)
|
||
|
* [QNAP Walkthrough](qnap.md)
|
||
|
* [Synology Walkthrough](synology.md)
|
||
3 years ago
|
|
||
|
## Local Install Overview
|
||
|
|
||
1 year ago
|
Plex Meta Manager is compatible with Python 3.8 through 3.11. Later versions may function but are untested.
|
||
3 years ago
|
|
||
12 months ago
|
These are high-level steps which assume the user has knowledge of python and pip, and the general ability to troubleshoot issues. For a detailed step-by-step walkthrough, refer to the [Local Walkthrough](local.md) guide.
|
||
3 years ago
|
|
||
|
1. Clone or [download and unzip](https://github.com/meisnate12/Plex-Meta-Manager/archive/refs/heads/master.zip) the repo.
|
||
|
|
||
|
```shell
|
||
|
git clone https://github.com/meisnate12/Plex-Meta-Manager
|
||
|
```
|
||
|
2. Install dependencies:
|
||
|
|
||
|
```shell
|
||
|
pip install -r requirements.txt
|
||
|
```
|
||
|
|
||
|
3. If the above command fails, run the following command:
|
||
|
|
||
|
```shell
|
||
|
pip install -r requirements.txt --ignore-installed
|
||
|
```
|
||
|
|
||
|
At this point Plex Meta Manager has been installed, and you can verify installation by running:
|
||
|
|
||
|
```shell
|
||
|
python plex_meta_manager.py
|
||
|
```
|
||
|
|
||
|
## Docker Install Overview
|
||
|
|
||
|
### Docker Run:
|
||
|
|
||
|
```shell
|
||
|
docker run -it -v <PATH_TO_CONFIG>:/config:rw meisnate12/plex-meta-manager
|
||
|
```
|
||
1 year ago
|
|
||
|
- The `-it` flag allows you to interact with the script when needed (such as for Trakt or MyAnimeList authentication).
|
||
|
- The `-v <PATH_TO_CONFIG>:/config:rw` flag 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 configuration file named `config.yml` which resides in your persistent volume.
|
||
|
* If your directory has spaces (such as "My Documents"), place quotation marks around your directory pathing as shown here: `-v "<PATH_TO_CONFIG>:/config:rw"`
|
||
3 years ago
|
|
||
|
|
||
|
Example Docker Run command:
|
||
|
|
||
3 years ago
|
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/).
|
||
|
|
||
3 years ago
|
```shell
|
||
|
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager
|
||
|
```
|
||
|
|
||
|
### Docker Compose:
|
||
|
|
||
1 year ago
|
This is an example docker-compose which will have to be edited to suit your environment before use, but illustrates the minimal contents:
|
||
|
|
||
3 years ago
|
```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
|
||
|
```
|
||
2 years ago
|
|
||
|
### Dockerfile
|
||
|
|
||
2 years ago
|
A `Dockerfile` is included within the GitHub repository for those who require it, although this is only suggested for those with knowledge of dockerfiles. The official Plex Meta Manager build is available on the [Dockerhub Website](https://hub.docker.com/r/meisnate12/plex-meta-manager).
|
||
|
|
||
1 year ago
|
## Customizing the docker-compose file with runtime flags and ENV vars
|
||
2 years ago
|
|
||
12 months ago
|
Plex Meta Manager's behavior can be modified in a variety of ways using either runtime flags or environnment variables. These flags and vars are detailed [here](../environmental.md).
|
||
2 years ago
|
|
||
1 year ago
|
This is optional, and is not necessary to run PMM. Many if not most users will have no reason to do this and can use something more like the basic docker-compose just above.
|
||
|
|
||
|
This example docker-compose would create a container that runs immediately upon start (rather than waiting until 5AM), uses a particular config file, processes only overlays on only one library, and exits when done. Those four changes are made by the four `environment:` entries, which are discussed in detail after the example:
|
||
|
|
||
|
As with the one above, this is an example docker-compose which will have to be edited to suit your environment before use.
|
||
|
|
||
2 years ago
|
```yaml
|
||
|
version: "2.1"
|
||
|
services:
|
||
|
plex-meta-manager:
|
||
|
image: meisnate12/plex-meta-manager
|
||
|
container_name: plex-meta-manager
|
||
|
environment:
|
||
|
- PMM_RUN=true
|
||
|
- PMM_CONFIG=/config/special-config.yml
|
||
|
- PMM_OVERLAYS=true
|
||
|
- PMM_LIBRARIES=Movies
|
||
|
volumes:
|
||
|
- /path/to/config:/config
|
||
|
```
|
||
1 year ago
|
|
||
|
`- PMM_RUN=true` tells PMM to run right away,
|
||
|
|
||
|
`- PMM_CONFIG=/config/special-config.yml` points PMM at a particular config file,
|
||
|
|
||
|
`- PMM_OVERLAYS=true` tells PMM to run overlays only, and
|
||
|
|
||
|
`- PMM_LIBRARIES=Movies` tells PMM to process only a library called "Movies"
|
||
|
|
||
12 months ago
|
Again, a list of the available environment variables can be found [here](../environmental.md).
|