Here's the config I'm using:
{
"DOCKER_NAME": "plex",
"GOOGLE": {
"ALLOWED": {
"FILE_EXTENSIONS": true,
"FILE_EXTENSIONS_LIST": [
"webm",
"mkv",
"flv",
"vob",
"ogv",
"ogg",
"drc",
"gif",
"gifv",
"mng",
"avi",
"mov",
"qt",
"wmv",
"yuv",
"rm",
"rmvb",
"asf",
"amv",
"mp4",
"m4p",
"m4v",
"mpg",
"mp2",
"mpeg",
"mpe",
"mpv",
"m2v",
"m4v",
"svi",
"3gp",
"3g2",
"mxf",
"roq",
"nsv",
"f4v",
"f4p",
"f4a",
"f4b",
"mp3",
"flac",
"ts"
],
"FILE_PATHS": [
"My Drive/gdrive/crypt/media/movies/",
"My Drive/gdrive/crypt/media/tv/"
],
"MIME_TYPES": false,
"MIME_TYPES_LIST": [
"video"
]
},
"CLIENT_ID": "{{client-id}}",
"CLIENT_SECRET": "{{client-secret}}",
"ENABLED": true,
"POLL_INTERVAL": 120,
"SHOW_CACHE_LOGS": true,
"TEAMDRIVE": false,
"TEAMDRIVES": []
},
"PLEX_ANALYZE_DIRECTORY": true,
"PLEX_ANALYZE_TYPE": "basic",
"PLEX_CHECK_BEFORE_SCAN": true,
"PLEX_DATABASE_PATH": "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db",
"PLEX_EMPTY_TRASH": false,
"PLEX_EMPTY_TRASH_CONTROL_FILES": [
"/mnt/unionfs/mounted.bin"
],
"PLEX_EMPTY_TRASH_MAX_FILES": 100,
"PLEX_EMPTY_TRASH_ZERO_DELETED": false,
"PLEX_FIX_MISMATCHED": false,
"PLEX_FIX_MISMATCHED_LANG": "en",
"PLEX_LD_LIBRARY_PATH": "/usr/lib/plexmediaserver/lib",
"PLEX_LOCAL_URL": "http://localhost:32400",
"PLEX_SCANNER": "/usr/lib/plexmediaserver/Plex\\ Media\\ Scanner",
"PLEX_SUPPORT_DIR": "/var/lib/plexmediaserver/Library/Application\\ Support",
"PLEX_TOKEN": "{{plex-token}}",
"PLEX_USER": "plex",
"PLEX_WAIT_FOR_EXTERNAL_SCANNERS": true,
"RCLONE": {
"BINARY": "/usr/bin/rclone",
"CONFIG": "/opt/rclone/rclone.conf",
"CRYPT_MAPPINGS": {
"My Drive/gdrive/crypt/": [
"gcrypt:"
]
},
"RC_CACHE_REFRESH": {
"ENABLED": true,
"FILE_EXISTS_TO_REMOTE_MAPPINGS": {
"media/": [
"/gd/media/"
]
},
"RC_URL": "http://localhost:5572"
}
},
"RUN_COMMAND_AFTER_SCAN": "",
"RUN_COMMAND_BEFORE_SCAN": "",
"SERVER_ALLOW_MANUAL_SCAN": true,
"SERVER_FILE_CHECK_DELAY": 60,
"SERVER_FILE_EXIST_PATH_MAPPINGS": {
"/gd/media/": [
"/gd/media/"
]
},
"SERVER_IGNORE_LIST": [
"/.grab/",
".DS_Store",
"Thumbs.db"
],
"SERVER_IP": "0.0.0.0",
"SERVER_MAX_FILE_CHECKS": 10,
"SERVER_PASS": "{{server-pass}}",
"SERVER_PATH_MAPPINGS": {
"/gd/media/movies/": [
"/gd/media/movies/",
"My Drive/gdrive/crypt/media/movies/"
],
"/gd/media/tv/": [
"/gd/media/tv/",
"My Drive/gdrive/crypt/media/tv/"
]
},
"SERVER_PORT": 3467,
"SERVER_SCAN_DELAY": 60,
"SERVER_SCAN_FOLDER_ON_FILE_EXISTS_EXHAUSTION": false,
"SERVER_SCAN_PRIORITIES": {
"0": [
"/Movies/"
],
"1": [
"/TV Shows/"
]
},
"SERVER_USE_SQLITE": true,
"USE_DOCKER": false,
"USE_SUDO": false
}
Plex runs as the user plex
. PAS runs as the user jcconnell
and it has permission to use the Plex Scanner without sudo. Google Drive is mounted with owner:group jcconnell:media
.
The path mappings look like (Remote | Local):
- "My Drive/gdrive/gcrypt/media/movies" |
/gd/media/movies
- "My Drive/gdrive/gcrypt/media/tv" |
/gd/media/tv
EDIT: I should add, I'm not using mergerfs on the local Plex server. Just the rclone mount, Plex and Plex Autoscan.