ImageMagick Attributes - CollinHeist/TitleCardMaker GitHub Wiki

Background

This is an optional YAML section of your global preferences file (preferences.yml) for outlining how the Maker should interact with ImageMagick. ImageMagick is the image creation/manipulation tool used by the Maker to create the title cards, and is required by the Maker.

If ImageMagick is running in a Docker container, then this section should be utilized to specify the Docker ID of the container. If ImageMagick is installed on the host machine (not in a container), then this section is not necessary unless you want to override the command timeout.

NOTE: If using a Docker container, it is all-but-required to map your system volumes 1:1 (i.e. -v /mnt/user/:/mnt/user/), as the Maker does not perform any filepath mapping for you.

Complete Example

# preferences.yml
imagemagick:
  container: ImageMagick   # Container name, could be container ID abcdef0123456678
  timeout: 100

options:     # Global options ....
archive:     # Archive options ...
plex:        # Plex options ...
jellyfin:    # Jellyfin options ...
emby:        # Emby options ...
sonarr:      # Sonarr options ...
tautulli:    # Tautulli options ...

Attributes

Name YAML Attribute Allowed Values Default Value Required
Docker Container container Either the container name or ID running ImageMagick - :heavy_check_mark:
Command Timeout timeout Any positive number 240

Docker Container

Container running ImageMagick; can be the container's name or ID. If ImageMagick is running in a container, then this attribute must be specified, or else all ImageMagick system calls will fail.

Running ImageMagick in a Container

If you want to (or need to, if required by your OS), any container with ImageMagick installed will work, I personally use the dpokidov/imagemagick container created with this command:

docker run --name="ImageMagick" --entrypoint="/bin/bash" -dit -v "/mnt/user/":"/mnt/user/" "dpokidov/imagemagick"

You will need to mount the necessary volumes 1:1 for both the Maker and your Media directories, in order for the Maker to work. For example, if you have installed the Maker at /Documents/TitleCardMaker/, and my Media is at /Documents/Media/, then I can mount using either of these commands:

docker run --name="ImageMagick" --entrypoint="/bin/bash" -dit -v /Documents/:/Documents/ "dpokidov/imagemagick"
docker run --name="ImageMagick" --entrypoint="/bin/bash" -dit -v /Documents/TitleCardMaker/:/Documents/TitleCardMaker/ -v /Documents/Media/:/Documents/Media/ "dpokidov/imagemagick"

Getting a Container ID

Once you have a container running, you can get the container ID by following the process here.

Command Timeout

The maximum amount of time (in seconds) to wait for an ImageMagick command to finish. If a command takes longer than this many seconds, then the command is terminated to avoid waiting indefinitely.

NOTE: ImageMagick should rarely take more than 10-15 seconds, on average, to complete a given command. The slowest process (by far) is summary creation.