{"id":13552587,"url":"https://github.com/wolveix/plexus","last_synced_at":"2025-04-03T03:32:16.852Z","repository":{"id":54996337,"uuid":"138651964","full_name":"wolveix/plexus","owner":"wolveix","description":"A suite of tools to help manage your media collection.","archived":true,"fork":false,"pushed_at":"2024-04-08T12:35:31.000Z","size":248,"stargazers_count":97,"open_issues_count":3,"forks_count":11,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-11-03T23:34:58.922Z","etag":null,"topics":["bash","bash-script","plex","plex-library","plex-media","plex-media-server","plexus","rclone"],"latest_commit_sha":null,"homepage":"https://plexus.wolveix.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wolveix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-25T21:28:04.000Z","updated_at":"2024-10-29T10:07:47.000Z","dependencies_parsed_at":"2024-01-16T18:58:11.790Z","dependency_job_id":"3186a483-9c07-43f2-85ad-d8089e0a7d7e","html_url":"https://github.com/wolveix/plexus","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolveix%2Fplexus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolveix%2Fplexus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolveix%2Fplexus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolveix%2Fplexus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wolveix","download_url":"https://codeload.github.com/wolveix/plexus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246933421,"owners_count":20857049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-script","plex","plex-library","plex-media","plex-media-server","plexus","rclone"],"created_at":"2024-08-01T12:02:06.405Z","updated_at":"2025-04-03T03:32:11.826Z","avatar_url":"https://github.com/wolveix.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Plexus\nA suite of tools to help manage the media behind a Plex server.\n\n## Docker\nRather than installing the dependencies and downloading Plexus locally, you can run the Plexus Docker image:\n```shell\ndocker run -v $HOME/.config/plexus:/root/.config/plexus -v $HOME/.plexus:/root/.plexus -v /path/to/media:/media wolveix/plexus:latest \n```\n\n## Install\n### Automatic\nYou can automatically install Plexus by running the following line via a supported command line interface:\n``` shell\ncurl https://plexus.wolveix.com/install.sh | sudo bash\n```\n\nIf you don't have superuser privileges or are using macOS, use this instead:\n``` shell\ncurl https://plexus.wolveix.com/install.sh | bash\n```\n\n### Manual\nAlternatively, you can manually install Plexus to a custom location on your device. You should install sudo if it doesn't already exist on your system.\nInstall any missing dependencies (Debian/Ubuntu):\n``` shell\nsudo apt-get -qq -y update \u0026\u0026 sudo apt-get -qq -y upgrade\nsudo apt-get -qq -y install curl ffmpeg rsync\n```\n\nInstall any missing dependencies (CentOS/Rhel):\n``` shell\nsudo yum -q -y install epel-release\nsudo yum -q -y update \u0026\u0026 sudo yum -q -y upgrade\nsudo yum -q -y localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm\nsudo yum -q -y install curl ffmpeg ffmpeg-devel rsync\n```\n\nInstall any missing dependencies (macOS):\n``` shell\nbrew update \u0026\u0026 brew upgrade\nbrew install curl ffmpeg rsync\n```\n\nCreate all of the temporary folders required:\n``` shell\nmkdir -p $HOME/.config/plexus $HOME/.plexus/encode/convert $HOME/.plexus/encode/converted $HOME/.plexus/rclone /tmp/plexus\n```\n\nDownload the default config file and move it into the correct location:\n``` shell\ncurl -O https://raw.githubusercontent.com/wolveix/plexus/master/plexus.conf\nmv plexus.conf \"$HOME\"/.config/plexus/\n```\n\nNext, download the executable itself:\n``` shell\ncurl -O https://raw.githubusercontent.com/wolveix/plexus/master/plexus\n```\n\nFinally, correct the file permissions and move it into your respective operating system's application directory. The following example is for Linux:\n``` shell\nchmod u+x plexus \u0026\u0026 chmod 755 plexus\nsudo chown root:root plexus\nsudo mv plexus /usr/bin/plexus\n```\n\n#### That's it!\n\nPlexus natively supports RClone and a custom build of FFmpeg. You can install any dependencies via Plexus' built-in install function.\n\n### Configuration\n\nThis is the default config file:\n```\naudio_codec=\"aac\"\nblacklist_file=\"$HOME/.plexus/blacklist\"\nconvert_dir=\"$HOME/.plexus/encode/convert\"\nconverted_dir=\"$HOME/.plexus/encode/converted\"\ndeinterlacing=\"true\"\nffmpeg_binary=\"\"\nffmpeg_threads=\"2\"\nffmpeg_preset=\"faster\"\nffprobe_binary=\"\"\nforce_overwrite=\"true\"\nfusermount_binary=\"\"\nhardware_acceleration=\"false\"\nhardware_codec=\"opencl\"\nlist_file=\"$HOME/.plexus/list.txt\"\nmedia_container=\"mkv\"\nmedia_dir=\"/mnt/plexdrive\"\nmount_dir=\"\"\nrclone_binary=\"\"\nrsync_binary=\"\"\nvideo_codec=\"h264\"\nvideo_library=\"libx264\"\n```\n\nWithout changing any options, Plexus will create a list of your media files that either don't use the MKV container,\nx264 video codec, or the aac audio codec. You can then process this list by running the encode command which will move\nthrough the list and re-encode each file to fit the above three conditions.\n\nOriginal files are overwritten by default, you can disable this by setting `force_overwrite` to `false`. You can edit\nthe config file directly (`$HOME/.config/plexus/plexus.conf`) or you can use the built-in config function by\nrunning `plexus config`.\n\n### Usage\n\nThis varies depending on whether you're planning on encoding local media or media contained on\nan [RClone remote](https://rclone.org/remote_setup/). Begin by specifying your preferred codecs via the `config`\nfunction.\n\n#### Local Media\nRun `plexus list -d /path/to/media` to start building a recursive list of your media which needs to be re-encoded.\n\nOnce the list compilation has completed, you can begin the encoding process using `plexus encode -l /path/to/list`.\n\n#### Remote Media\nRun `plexus list -d /mount/path/path/to/media -m /mount/path` to start building a recursive list of your media which needs to be re-encoded.\n\nOnce the list compilation has completed, you can begin the encoding process\nusing `plexus encode -l /path/to/list -r RCloneRemote:`.\n\n### Support\n\nIf you run into any issues,\nplease [submit an issue via this repo](https://github.com/wolveix/plexus/issues/new?assignees=\u0026labels=\u0026template=bug_report.md\u0026title=).\nIf the issue occurs during the encode command, please run the command again with the `--verbose` flag to give us a\nbetter idea of what's happening.\n\n## Credits\n\n- Creator: [Robert Thomas](https://github.com/wolveix)\n- Help: [Greg Probst](https://github.com/gorgarp), [Mason Rowe](https://github.com/MasonR)\n- License: [GNU General Public License v3.0](https://github.com/wolveix/plexus/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolveix%2Fplexus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolveix%2Fplexus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolveix%2Fplexus/lists"}