Sign inSign up

artificiallyintelligent/plex-rclone

By artificiallyintelligent

Updated over 5 years ago

Image
0

6.0K

artificiallyintelligent/plex-rclone repository overview

linuxserver.io

Blog Discord Discourse Fleet GitHub Open Collective

The LinuxServer.io team brings you another container release featuring:

  • regular and timely application updates
  • easy user mappings (PGID, PUID)
  • custom base image with s6 overlay
  • weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
  • regular security updates

Find us at:

  • Blog - all the things you can do with our containers including How-To guides, opinions and much more!
  • Discord - realtime support / chat with the community and the team.
  • Discourse - post on our community forum.
  • Fleet - an online web interface which displays all of our maintained images.
  • GitHub - view the source for all of our repositories.
  • Open Collective - please consider helping us by either donating or contributing to our budget

linuxserver/plex-rclone

Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone Plex Media Server. has always been a top priority. Straightforward design and bulk actions mean getting things done faster.

Usage

Here are some example snippets to help you get started creating a container.

docker
docker create \
  --name=plex \
  --net=host \
  --cap-add SYS_ADMIN --device /dev/fuse
  -e PUID=1000 \
  -e PGID=1000 \
  -e VERSION=docker \
  -e UMASK_SET=022 `#optional` \
  -e PLEX_CLAIM= `#optional` \
  -v /path/to/library:/config \
  -v /path/to/tvseries:/tv \
  -v /path/to/movies:/movies \
  -v /path/to/config/rclone:/config/rclone/ \
  -e RCLONE_CONFIG=/config/rclone/rclone.conf
  -e RCLONE_MOUNT_CONTAINER_PATH=/mnt/rclone \
  -e RCLONE_MOUNT_REMOTE_PATH="CRYPT:" \
  -e RCLONE_MOUNT_OPTIONS="  --read-only --acd-templink-threshold 0 --buffer-size 1G --timeout 5s --contimeout 5s --log-level INFO --stats 60s --use-json-log --dir-cache-time 24h  " \
  --restart unless-stopped \
  artificiallyintelligent/plex-rclone
docker-compose

Compatible with docker-compose v2 schemas.

---
version: "2.1"
services:
  plex:
    image: artificiallyintelligent/plex-rclone
    container_name: plex
    network_mode: bridge
    devices:
      - "/dev/fuse:/dev/fuse"
    cap_add:
      - SYS_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - VERSION=docker
      - UMASK_SET=022 #optional
      - PLEX_CLAIM= #optional
      - "RCLONE_CONFIG=/config/rclone/rclone.conf"
      - "RCLONE_MOUNT_CONTAINER_PATH=/mnt/rclone"
      - "RCLONE_MOUNT_REMOTE_PATH=CRYPT:"
      - "RCLONE_MOUNT_OPTIONS= --read-only --acd-templink-threshold 0 --buffer-size 1G --timeout 5s --contimeout 5s --log-level INFO --stats 60s --dir-cache-time 24h "
      - RCLONE_SERVE_PORT=13670
      - RCLONE_GUI=TRUE
      - "RCLONE_CONFIG_URL=https://drive.google.com/uc?export=download&id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
    volumes:
      - plex_temp:/transcode
      - plex_config:/config
    ports:
      - "32400:32400"
      - "32410-32414:32410-32414"
      - "32469:32469"
      - "8384:8384"
      - "3005:3005"
      - "13668-13670:13668-13670"
    restart: unless-stopped
volumes:
  plex_temp:
  plex_config:

Plex Parameters

Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.

>
ParameterFunction
--net=hostUse Host Networking
-e PUID=1000for UserID - see below for explanation
-e PGID=1000for GroupID - see below for explanation
-e VERSION=dockerSet whether to update plex or not - see Application Setup section.
-e UMASK_SET=022control permissions of files and directories created by Plex
-e PLEX_CLAIM=Optionally you can obtain a claim token from https://plex.tv/claim and input here. Keep in mind that the claim tokens expire within 4 minutes.
-v /configPlex library location. This can grow very large, 50gb+ is likely for a large collection.
-v /tvMedia goes here. Add as many as needed e.g. /movies, /tv, etc.
-v /moviesMedia goes here. Add as many as needed e.g. /movies, /tv, etc.
-e PLEX_LIBRARY_MASTER_PATH=/mnt/rclone/Storage/plex-library.tar.gzLocal path to tar.gz file containing master copy of plex library. If PLEX_LIBRARY_MASTER_PATH is defined and file at the path is found that is newer than prior versions loaded, tar contents will be extracted and existing library overwirtten.
-e customConnections=http://192.168.1.1:32400Passes a default value to customConnections in Plex Prefrences.xml. Defining customConnections helps clients discover plex servers in situations where build in discovery methods dont work, ie clients anywhere outside the subnet the plex server is hosted within as is the case with Docker's bridge networking in effect. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e allowedNetworks=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8Passes a default value to associated entry in Plex Prefrences.xml. Defining allowedNetworks helps with inital server setup as it allows network subnets to be defined where authentication isn't required. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e FriendlyName=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e autoEmptyTrash=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ButlerEndHour=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ButlerStartHour=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ButlerTaskDeepMediaAnalysis=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ButlerTaskUpgradeMediaAnalysis=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e DlnaEnabled=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e GenerateChapterThumbBehavior=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e LoudnessAnalysisBehavior=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ScheduledLibraryUpdateInterval=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ScheduledLibraryUpdatesEnabled=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e ButlerTaskRefreshLibraries=Passes a default value to associated entry in Plex Prefrences.xml. See https://support.plex.tv/articles/201105343-advanced-hidden-server-settings for specifics and valid vaules to enter. Note this will not update the values or have any impact after it is initally set/unset via this variable or via Plex.
-e TranscoderTempDirectory=Passes a default value to associated entry in Plex Prefrences.xml. See

Tag summary

Content type

Image

Digest

Size

426.3 MB

Last updated

over 5 years ago

docker pull artificiallyintelligent/plex-rclone